以下のコードを使用して、許可された拡張子が 5MB 未満のファイルをアップロードしています。しかし、このコードを使用すると、すべての doc や pdf などがアップロードされません! 例: 4.78MB の docx ファイルまたは Windows Phone の 1.64 MB jpg はアップロードされません!
$allowedExts = array("gif", "jpeg", "jpg","png","pdf","doc","docx","txt","rtf","bmp","psd","zip","rar","ppt","pptx");
$extension = end(explode(".", $_FILES["file"]["name"]));
if (in_array($extension, $allowedExts) && $_FILES["file"]["size"]<5242880 && $_FILES["file"]["error"]<=0) {
$rand = rand(000,999);
$tempfile = $_FILES["file"]["name"];
$file = $time . "=" . $rand . "=" . $tempfile;
if(file_exists("upload/".$file)) {
header("location:home.php?error=error");
} else {
move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$file);
}
} else {
header("location:home.php?error=error"); //this gets executed for some doc or pdf files !
}