圖片儲存 - 使用PHP儲存圖片同時保持源來圖片的md5值

來源:互聯網
上載者:User
使用php下載圖片的時候遇到md5問題, 源圖片通過 http://su.bdimg.com/static/superplus/img/logo_white_ee663702.png下載,
原圖和curl擷取到圖片源時的md5一致,但使用php中的fwrite後就不行.

sf的朋友們: 如何用PHP儲存圖片的時候使得md5值不變!

代碼如:

/*** 載入圖片* */$save_dir = APP.'tmp'.DS;$url = 'http://su.bdimg.com/static/superplus/img/logo_white_ee663702.png';$img = http_client_request( $url );echo 'Curl擷取的二進位流檔案MD5值:
'.md5($img); //圖片md5$fp2=@fopen($save_dir.'baidu-save.png','a');fwrite($fp2,$img);fclose($fp2);unset($img,$url);echo "\n";$fmd5 = '通過fwrite儲存圖片MD5:
'.md5_file($save_dir.'baidu-save.png');echo $fmd5;echo '原圖md5:
'.md5_file($save_dir.'baidu-org.png');

結果如:

Curl擷取的二進位流檔案MD5值:
329b15e8ba7234317dc663f8ee663702
通過fwrite儲存圖片MD5:
d477312948ef7bd72c4209b8db707f68
原圖md5:
329b15e8ba7234317dc663f8ee663702

回複內容:

使用php下載圖片的時候遇到md5問題, 源圖片通過http://su.bdimg.com/static/superplus/img/logo_white_ee663702.png下載,
原圖和curl擷取到圖片源時的md5一致,但使用php中的fwrite後就不行.

sf的朋友們: 如何用PHP儲存圖片的時候使得md5值不變!

代碼如:

/*** 載入圖片* */$save_dir = APP.'tmp'.DS;$url = 'http://su.bdimg.com/static/superplus/img/logo_white_ee663702.png';$img = http_client_request( $url );echo 'Curl擷取的二進位流檔案MD5值:
'.md5($img); //圖片md5$fp2=@fopen($save_dir.'baidu-save.png','a');fwrite($fp2,$img);fclose($fp2);unset($img,$url);echo "\n";$fmd5 = '通過fwrite儲存圖片MD5:
'.md5_file($save_dir.'baidu-save.png');echo $fmd5;echo '原圖md5:
'.md5_file($save_dir.'baidu-org.png');

結果如:

Curl擷取的二進位流檔案MD5值:
329b15e8ba7234317dc663f8ee663702
通過fwrite儲存圖片MD5:
d477312948ef7bd72c4209b8db707f68
原圖md5:
329b15e8ba7234317dc663f8ee663702

是不是因為已經存在 baidu-save.png,然後 fopen 用了參數 'a',於是加到尾部了。
改為 'w' 或者 'wb' 試試。

xxd logo_white_ee663702.png > logo_white_ee663702.hexxxd baidu-save.png > baidu-save.hexdiff logo_white_ee663702.hex baidu-save.hex

fwrite($fp2,md5($img));

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.