簡體   English   中英

如何修復“getimagesize():讀取錯誤!” 在 PHP 中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM