[英]How to fix "getimagesize(): Read error!" in PHP
我想使用 ajax 和 php 將圖像上傳到服務器。
在客戶端,我有以下代碼:
var reader = new FileReader();
reader.readAsDataURL(file, 'UTF-8');
reader.onload = function (event) {
var result = event.target.result;
$.ajax({
type: "POST",
url: "url",
data: {
data: result,
name: file.name,
mimeType: file.type
}
});
};
在服務器端,我的代碼如下所示:
$path = 'somehow/'
$fp = fopen( $path . $_POST['name'], 'w');
$data = explode( ',', $_POST['data'] );
fwrite($fp, base64_decode( $data[ 1 ] ));
fclose($fp);
chmod($path . $_POST['name'], 7777);
list($width, $height) = getimagesize($path . $_POST['name']);
現在方法“getimagesize”總是遇到錯誤“getimagesize():讀取錯誤!”
有誰知道,為什么會這樣? 當我查看服務器上的文件系統時,文件“FILENAME.JPG”存在......
此錯誤有兩種可能的原因:url 路徑不完整/不正確或圖片文件已損壞且無法打開。 例如,如果圖像未完全/正確加載到服務器上,則文件可能已損壞。
您可以使用$result = @getimagesize($file)
來抑制錯誤。 因此,當$result
為空時,意味着發生了錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.