PHPを介してファイルをアップロードするのに問題があります。プロセスの開始時にファイルタイプを確認すると、エラーが発生します。
これは私が得ているエラーです:
警告:183行目の/balblabla/DBfunctions.inc.phpのオフセットタイプが無効です
これは印刷された$ _FILES変数です
配列([画像] =>配列([名前] => JPG.jpg [タイプ] => image/jpeg [tmp_name] =>/tmp/phpHlrNY8 [エラー] => 0 [サイズ] => 192221))
これが私が問題を引き起こしている私が使用しているコードのセグメントです:
function checkFile($file, $type)
{
if( in_array($_FILES[$file]['type'], $type) ){ // <--- LINE 183
return true;
}//if
return false;
} // end checkFile()
これは、関数を呼び出すコード行です
if(checkFile($ _FILES ['Picture']、array( "image/jpeg"))== true){
//何かをする
} //終了する場合
私は自分のサーバー上の数十のWebサイトでこのコードを使用したので、これはいくつかの異なる構成オプションであると推測しています。この別のサーバーで機能するようにコードを変更するにはどうすればよいですか?
文字列/整数インデックスではなく、配列をcheckFile
関数に渡します。
これを修正するには、次のいずれかを変更します。
チェックファイルを変更して、渡された配列を使用してチェックを実行するようにします。
if( in_array($file['type'], $type) )
または、この関数を呼び出すコードを変更して、ファイル配列ではなくインデックスとして使用するファイルの名前を渡すようにします。
if( checkFile('Picture', array("image/jpeg") ) == true )
どちらの変更でも機能します。
checkFile()
で$_FILES[$file]
を$file
に置き換えます。 $_FILES
配列に2回インデックスを付けています。