我遇到了一个我的脚本的奇怪问题,我正在测试上传PDF文件。我可以成功上传一些pdf文件而不是其他文件,即使它们都是pdf并且有.pdf作为扩展名。在完成我的代码后,任何人都可以对此有所了解
HTML PART:
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="file" name="upload" /><br />
<input type="submit" name="submit">
PHP PART:
if(isset($_POST['submit'])){
$output_form = 0;
if (($_FILES["upload"]["type"] == "application/pdf")
&& ($_FILES["upload"]["size"] < 80000)){
if (file_exists("upload/" . $_FILES["upload"]["name"]))
{
echo $_FILES["upload"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["upload"]["tmp_name"],
"upload/" . $_FILES["upload"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["upload"]["name"];
}
}else{
echo 'Invalid File';
}
}
对于某些文件,我获取输出,存储在输出中。对于其他人,我收到消息“无效文件”。
由于
答案 0 :(得分:1)
上面的代码似乎有条件,如果filesize大于80000那么它应该抛出'无效文件'错误?失败的是什么尺寸?我愿意打赌,如果你评论出这个条件它会起作用
答案 1 :(得分:0)
有同样的问题。 发现文件类型也可以是application / x-octet-stream 因此,您需要在检查文件大小的同一语句中检查它。 像这样的东西: if(($ _FILES ['pdfUpload'] ['type'] ==“application / pdf”) || ($ _FILES ['pdfUpload'] ['type'] ==“application / x-octet-stream”) &安培;&安培; ($ _FILES ['pdfUpload'] ['size']&lt; 9000000))//大得多,我们在转移期间得到超时
我的2美分值