当我使用PHP上传图像时,我没有错误,图像在服务器上是0字节。 考虑的事情:
我使用一个非常简单的上传脚本进行测试:
HTML:
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="512000" />
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
PHP:
<?php
//$uploaddir = '/var/www/html/upload';
$uploaddir = '';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo "<p>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Upload failed";
}
echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>
当我提交文件时,我没有错误,图像在目标文件夹中创建,具有正确的名称和扩展名,但正如标题所示,它是0字节(当然,它可以&#39; t被选中)。
感谢您的时间。
修改 Sajad Karuthedath 让我看到$ _FILE [&#39;文件&#39;] [&#39; size&#39;]值为0 !!导致文件无法正确上传的问题是什么?
编辑2 上传txt,pdf,tar文件正常工作..问题仅出在图片类型文件中!
答案 0 :(得分:0)
尝试这个简单的上传脚本,
您应该在保存到服务器之前检查错误
if ( 0 < $_FILES['file']['error'] ) {
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/'.$_FILES['file']['name']);
}
注意:在更改phpinfo()之后不要忘记重新启动服务器或xampp
注意:还要更改php中的post_max_size = 25M