在本地主机上上传图片时获取 UPLOAD_ERR_PARTIAL

Getting UPLOAD_ERR_PARTIAL when uploading images on localhost

我正在使用一个简单的 html 表单来上传图像,然后将其保存在我本地主机上的目录中。

<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" enctype="multipart/form-data" method="post">
<label for="img">Pick a picture</label>
<input id="img" type="file" name="image">
<input type="submit" name="imageProfil" value="Upload the image">
</form>

然而,当我处理图像时,在检查错误时(在 $_FILES['image']['errors'],我得到错误 3,这意味着文件只被已部分上传。

此外,每次我上传文件时,在第一次响应(向我抛出异常)后我都没有收到任何响应。我已经完成了所有的错误检查,我确实把 enctype="multipart/form-data" 放在了我的表单上,但我在这里基本上是一无所知。

感谢您的宝贵时间。

您必须检查 php.ini 文件中的 PHP 配置。如果您的上传经常被中断,您需要增加最大上传大小或 PHP 脚本超时前的时间。检查这个变量:

post_max_size
upload_max_filesize
max_execution_time

您可以增加 PHP 配置文件或使用 ini_set 函数增加脚本。查看手册了解更多详情。 PHP 手动

我也遇到了UPLOAD_ERR_PARTIAL错误,变量post_max_sizeupload_max_filesizemax_execution_time设置正确。然后我尝试 上传一个非常小的文件 (2 字节),如 ,我收到以下警告:

Warning: move_uploaded_file(files/myfile.txt): failed to open stream: Permission denied [...]
Warning: move_uploaded_file(): Unable to move '/tmp/phps8Jdwt' to 'files/myfile.txt' [...]

修复服务器上的 file/directory 权限后,上传又成功了。