ホームページ  >  記事  >  バックエンド開発  >  PHPでダウンロードした画像が開けない場合はどうすればよいですか?

PHPでダウンロードした画像が開けない場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2021-09-11 10:58:392253ブラウズ

phpでダウンロードした画像が開けない問題の解決策: 1. 「file_put_contents('E:/img/xxx.jpeg',$img);」コードステートメントを設定します; 2. 「curl_setopt( $ ci,...)」ステートメント。

PHPでダウンロードした画像が開けない場合はどうすればよいですか?

#この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

phpダウンロードした画像が開けない場合は?

PHPcurl または file_get_contents でダウンロードした画像が破損しているか開けない問題を解決します。

curl または file_get_contents を通じてリモート画像を取得してローカルに保存します。 , しかし、破損が見つかりました 画像がたくさんあります。たとえば、

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

にアクセスすると写真にアクセスできますが、curling または file_get_contents を実行すると、写真はダウンロードされますが、破損しています。理由は、写真が gizp であるためです

解決策 1:

 $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);

解決策 2:

このコードをカールに追加します

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 フォームベースのアップロード、プロキシ、Cookie、ユーザー名とパスワードの認証もサポートしています。

cURL を使用して PHP で Get および Post リクエストを実装する方法

これらの関数は、PHP 4.0.2 で導入されました。

インストール

PHP の cURL サポートを使用するには、PHP のコンパイル時に --with-curl[=DIR] オプションを追加する必要があります。DIR は、lib と include を含むディレクトリ パスです。インクルード ディレクトリには、easy.h とcurl.h を含む、curl という名前のフォルダーが存在する必要があります。 lib フォルダーに libcurl.a という名前のファイルがあるはずです。 PHP 4.3.0 の場合、-with-curlwrappers を設定して cURL で URL ストリームを使用することができます。

注: Win32 ユーザーは、Windows 環境でこのモジュールを使用するには、libeay32.dll および ssleay32.dll を PATH 環境変数に含まれるディレクトリに配置する必要があることに注意してください。 cURL Web サイトの libcurl.dll は使用しないでください。

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPでダウンロードした画像が開けない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。