1
私はfinfoに関する問題を抱えていますが、私は何が欠けているのか分かりません。finfo()でPDFファイルをフィルタリングしてアップロードするにはどうすればよいですか?
また、サイドノートに、
$メッセージ= $ upload_errors [$エラー]。
私が間違ったアップロードディレクトリを入れてテストすると、実際にはエラーは表示されません。それ以外はうまく動作します。
これは、フォームからの複数の入力ファイルのアップロードです:すべての最初の
if(isset($_FILES['myFile'])){
$name_array = $_FILES['myFile']['name'];
$tmp_name_array = $_FILES['myFile']['tmp_name'];
$type_array = $_FILES['myFile']['type'];
$size_array = $_FILES['myFile']['size'];
$error_array = $_FILES['myFile']['error'];
$upload_dir = "uploads/";
for($i = 0; $i < count($tmp_name_array); $i++){
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $tmp_name_array[$i]);
$ok = false;
switch ($mime) {
case 'application/pdf'
$mimeok = true;
default:
die("Unknown/not permitted file type");
}
// 1 megabyte is 1,048,576 bytes. 5 megabyte limit 5242880
if ($size_array[$i] > 5242880) {
echo "Error: Document size exceeds maximum limit of 5 MB. Please reduce the file size and retry upload";
}else{
if ($mimeok = false) {
echo "Not correct file type<br>";
} else{
if (move_uploaded_file($tmp_name_array[$i], $upload_dir.$name_array[$i])){
echo $name_array[$i]." upload is complete<br>";
} else {
$error = $_FILES['file_upload']['error'];
$message = $upload_errors[$error];
echo $message;
}
}
}
}
}
私は気が気になりません。 Duh ..ちょうどそれを逃した。 PHPがエラーになるので、他に何かがあるはずです。エラーを引き起こすのはfinfo部分だけです –
次の2行のうちの1つです:$ finfo = finfo_open(FILEINFO_MIME_TYPE); \t \t \t \t $ mime = finfo_file($ finfo、$ tmp_name_array [$ i]); –
'$ error = $ _FILES ['file_upload'] ['エラー'];'は '$ error = $ error_array [$ i]'でなければなりません – NDM