アップロードした画像サイズが3MBを超えた場合にエラーメッセージを出したい。これが私の現在のコードです。画像が 3MB を超えるとエラー メッセージが表示されるはずですが、何もしません。コードの何が問題になっていますか?
if ( $_FILES['file']['size'] != 0 )
{
//image check start
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 3072000))
//image check end
{
if (file_exists($upload_path."/".$_FILES["file"]["name"]))
{
$file_tmp = $_FILES["file"]["name"];
} //Link if there is already a file with identical file name
else
{
$photoid = $upfile_idx.".".substr($_FILES['file']['name'],-3);
move_uploaded_file($_FILES["file"]["tmp_name"], $upload_path."/".$photoid);
$file_tmp = $photoid ;
} //Upload the image file into upload folder and generate an id for the image
}
else
{
error("Maximum image size exceeded or invalid file format.");
}
}
//insert $file_tmp into database here
----------
Error code (added later)
function error($msg)
{
echo "<script>alert(\"$msg\");history.go(-1);</script>";
exit;
}
私は何が問題なのかを見つけました。私のphp.iniファイルには「upload_max_filesize = 3M」があり、明らかにそれがすべての問題の原因でした. 「upload_max_filesize = 4M」に変更すると、すべてうまくいきました。ご協力ありがとうございました。