我想在同一时间上传图片和pdf,但却出错了。我不知道我错过了什么,图片正在上传,但上传pdf时有问题。 这是一段代码。
<pre>
<?php
if ($_GET["action"] == "submit") {
$imageType="press_release_image_";
$ext= substr(basename($_FILES['brwAddNews']['name']),-4);
$filename=$imageType.$ext;
$target_path = $filename;
$pdfType="press_release_pdf_";
$pdfext= substr(basename($_FILES['brwAddNewsPdf']['name']),-4);
$pdffilename=$pdfType.$pdfext;
$pdf_target_path = $pdffilename;
print_r($_FILES) ;
$pdfext= substr(basename($_FILES['brwAddNewsPdf']['name']),-4);
if($pdfext==".pdf"){
if(move_uploaded_file($_FILES['brwAddNews']['tmp_name'], $target_path) && move_uploaded_file($_FILES['brwAddNewsPdf']['tmp_name'], $pdf_target_path))
{
echo "file uploaded";
}
else echo "Not uploaded";
}
else echo "Its not a pdf file";
}
?>
<center>
<form action="try.php?action=submit" method="post" enctype="multipart/form-data" name="frmNews" id="frmNews" >
<table><tr><td>NAME :<td/><td><input name="news_name" type="text" class="textfield" id="news_name" value="" /><br></td></tr>
<tr><td>PDF : <td/><td><input name="brwAddNewsPdf" type="file" id="brwAddNewsPdf" multiple="multiple" /><br></td></tr>
<tr><td>IMAGE : <td/><td><input name="brwAddNews" type="file" id="brwAddNews" multiple="multiple"/><br></td></tr>
<tr><td><td/><td><input name="btnSave" type="submit" class="buttons" id="btnSave" value="Save"></td></tr>
</form>
</center>
我的输出为:
Array
(
[brwAddNewsPdf] => Array
(
[name] => Newsletter-volume16.pdf
[type] =>
[tmp_name] =>
[error] => 1
[size] => 0
)
[brwAddNews] => Array
(
[name] => PDF-thumbnail.jpg
[type] => image/jpeg
[tmp_name] => /tmp/php0KuLSj
[error] => 0
[size] => 4536
)
)
Not uploaded
可能是什么问题?我错过了什么?
答案 0 :(得分:2)
Error Messages Explained手册页毫无疑问:
价值:1;上传的文件超出了upload_max_filesize指令 在
php.ini
。
答案 1 :(得分:2)
到目前为止,我遇到了同样的错误。当我看到这个问题时,我需要提供帮助。
这是一个有点老问题,但在这里解决方案:
首先,错误。 你有两个文件的输出方式,第一个是错误1,第二个是错误0。 在documentation中,我们有关于错误值的解释:
UPLOAD_ERR_OK
值:0;
没有错误,文件上传成功。UPLOAD_ERR_INI_SIZE
值:1;
上传的文件超出了php.ini中的upload_max_filesize指令。
其次,要知道您的错误与存档的大小有关,您只需要增加upload_max_filesize
文件的php.ini
即可。
它有点简单,但你可以做得更好。
如果你把它放在你的上传表格上:
<input type="hidden" name="MAX_FILE_SIZE" value="12000" />
您将在上传之前检查文件的大小。控制上传的最大尺寸并不是最好的事情(可以简单地作弊),但它会帮助您的用户知道他的文件太大而无需上传。
请参阅here有关PHP上传的更多信息。
Finnaly,重启你的php。在这里我使用php5-fpm。
# service php5-fpm restart
提示:不要在php.ini中使用您想要上传的确切大小,我使用的MB比我想要的多。然后我在我的代码中对待它。这将删除错误,您可以在应用程序中按照自己的意愿处理。例如:如果您有12M的文件,请输入20M。
OBS:对于多个文件,我真的不知道总和是否大小。