画像を正常にアップロードできますが、タイプを image/jpg、image/gif から application/msword および application/pdf に変更すると機能しません。これが私のコードです。画像に対してはまったく同じコードが機能しますが、ドキュメントや PDF をアップロードすると、「無効なファイル」が出力されます。何が起きてる?私のファイルは約 30kb しかなく、こちらのファイル サイズ制限を十分に下回っています。
$allowedExts = array("pdf", "doc", "docx");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ( ( ($_FILES["file"]["type"] == "application/msword") || ($_FILES["file"]["type"] == "text/pdf") )
&& ($_FILES["file"]["size"] < 20000) && in_array($extension, $allowedExts))
{
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
}
else
{
echo "Invalid file."
}