#この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューターphpでダウンロードした画像が開けない問題の解決策: 1. 「file_put_contents('E:/img/xxx.jpeg',$img);」コードステートメントを設定します; 2. 「curl_setopt( $ ci,...)」ステートメント。
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);
このコードをカールに追加します
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 サイトの他の関連記事を参照してください。