【发布时间】:2019-05-11 03:18:31
【问题描述】:
我有一个表格:
<form action='' enctype="multipart/form-data" method="post">
<input type="file" name="image">
<input type="submit" value="send">
</form>
我有php代码:
$file = $_FILES['image']
$ext = explode(",", $file['type'])[0];
$location = "../image/movedimage.$ext";
if(move_uploaded_file($file['tmp_name'], $location)) echo 'moved';
else echo 'internal error';
这与“已移动”相呼应,但问题是当我检查文件移动到的路径时,其中的图像文件已损坏。
我必须通过这样做来更改上传图片的系统:
$file_content = file_get_contents($file['tmp_name']);
$file_dump = file_put_contents($location, $file_content);
直接使用file_put_contents 放置文件的尝试效果很好,并且图像文件与上传时一样完美,但使用move_uploaded_file 会在目标文件夹中留下损坏的文件。我想了解为什么会发生这种情况,因为 $file['error'] 返回值 0 而 move_uploaded_file 函数不返回 false。
【问题讨论】:
-
你知道它是如何损坏的吗?您可以使用文本编辑器打开移动的文件,检查顶部和底部是否有任何异常。
-
文本编辑器无法打开文件。
-
关心扩展,有很多未知数你没有分享
标签: php forms file global-variables