首頁  >  文章  >  後端開發  >  php 下載圖片無法開啟怎麼辦

php 下載圖片無法開啟怎麼辦

藏色散人
藏色散人原創
2021-09-11 10:58:392219瀏覽

php下載圖片無法開啟的解決方法:1、設定「file_put_contents('E:/img/xxx.jpeg',$img);」程式碼語句;2、在curl裡新增「curl_setopt($ ci,...)”語句即可。

php 下載圖片無法開啟怎麼辦

本文操作環境:windows7系統、PHP7.1版,DELL G3電腦

php 下載圖片無法開啟怎麼辦?

解決PHP curl或file_get_contents下載圖片損壞或無法開啟的問題

透過curl或file_get_contents取得抓取遠端圖片並且儲存到本機,發現損壞了很多圖片,例如訪問

https://fuss10.elemecdn.com/c/6c/69a7740b4ab864ac0639eb583d68fjpeg.jpeg

是可以存取到圖片的,但是curl或file_get_contents時圖片下載下來了卻損壞了,

原因是圖片被gizp了

解決方法一:

 $url = 'https://fuss10.elemecdn.com/c/6c/69a7740b4ab864ac0639eb583d68fjpeg.jpeg';
 $img = file_get_contents("compress.zlib://".$url);
 $data = file_put_contents('E:/img/aaaaaaaaaaaa.jpeg',$img);

#解決方法二:

在curl裡加上這段程式碼

curl_setopt($ci, CURLOPT_ENCODING,'gzip');

相關介紹:

PHP cURL 函數

PHP支援的由Daniel Stenberg創建的libcurl函式庫允許你與各種的伺服器使用各種類型的協定進行連接和通訊。

libcurl目前支援http、https、ftp、gopher、telnet、dict、file和ldap協定。 libcurl同時也支援HTTPS認證、HTTP POST、HTTP PUT、 FTP 上傳(這個也能透過PHP的FTP擴充完成)、HTTP 基於表單的上傳、代理、cookies和使用者名稱 密碼的認證。

PHP中使用cURL實作Get和Post請求的方法

這些函數在PHP 4.0.2中被引入。

安裝

要使用PHP的cURL支援你必須在編譯PHP時加上--with-curl[=DIR] 選項,DIR為包含lib和include的目錄路徑。在include目錄中必須有一個名為curl,包含了easy.h和curl.h的資料夾。 lib資料夾裡應該有一個名為libcurl.a的檔案。對於PHP 4.3.0你可以設定--with-curlwrappers 使cURL使用URL流。

注意: Win32用戶注意 要在Windows環境下使用這個模組,libeay32.dll和ssleay32.dll必須放到PATH環境變數包含的目錄下。不用cURL網站上的libcurl.dll。

推薦學習:《PHP影片教學

以上是php 下載圖片無法開啟怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn