简单的上传脚本(允许工作人员更改他们的个人资料照片),在 PC 上工作正常,但是当我尝试从 iPhone 上传照片时,页面只是停止,就像它正在尝试加载一样,没有任何反应.
这是我的整个测试 PHP 文件:
<?php
if (isset($_POST['submitNewImage'])) {
echo 'it works, and the filename is ' . $_FILES['uploadedFile']['name'];
}
?>
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<br /><br /><br />
<form action="test.php" method="post" enctype="multipart/form-data">
<input type="file" accept="image/*" capture name="uploadedFile" /><br /><br /><br />
<input type="submit" name="submitNewImage" value="Upload" />
</form>
</body>
</html>
同样,这在 PC 上运行良好,但当我在 iPhone 上点击“上传”时,它就会挂起。如果我删除 name="uploadedFile",该页面会执行,但当然那里没有文件。我怎样才能让它识别来自 iPhone 的图像?
最佳答案
上传后,您是否会对包含 GD 的图像进行任何处理?
如果您这样做 - 当您尝试上传纵向或横向图像时有什么不同吗?如果纵向工作正常,但横向导致挂起(或其他方式,不记得了),问题可能出在 EXIF 数据中,表明图像已旋转但 GD 无法正确处理。
解决方案在于获取 EXIF 数据(使用 exif_read_data()),然后使用 imagemagick(调用中的 -strip 参数)剥离它,然后使用 GD 或图像 magick 旋转图像,这将为您留下无需操作的图像产生错误。
关于php - 从移动设备上传图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42657834/