Web サイト開発では、多くの場合、Web サイトに表示する外部画像を取得する必要があります。 PHP を使用して開発する場合、外部イメージをどのように取得するかがよく問題になります。この記事では、外部画像を取得するいくつかの方法を紹介しますので、皆様のお役に立てれば幸いです。
方法 1: file_get_contents
file_get_contents 関数は、ファイルの内容を読み取るために使用できる PHP の組み込み関数です。最初のパラメータは取得するファイル パスで、2 番目のパラメータはファイルの内容全体を文字列に読み取るかどうかを示すブール値パラメータです。画像の読み込みも同様の原理で、ファイルパスを画像のURLアドレスに設定するだけです。サンプル コードは次のとおりです。
$url = 'http://example.com/image.jpg'; // 图片 URL 地址 $img = file_get_contents($url); // 读取图片 file_put_contents('image.jpg', $img); // 将图片保存到本地文件
このメソッドはコードが少なく、シンプルで理解しやすいですが、パフォーマンスは十分ではありません。
方法 2:curl
curl は、Web ページのコンテンツを取得するために使用できる、一般的に使用されるネットワーク リクエスト ライブラリです。写真の取得にも使用できます。コード例は次のとおりです。
$url = 'http://example.com/image.jpg'; // 图片 URL 地址 $ch = curl_init(); // 创建 curl 句柄 curl_setopt($ch, CURLOPT_URL, $url); // 设置 curl 请求的 URL curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 不将 curl 结果直接输出到浏览器 $img = curl_exec($ch); // 获取图片内容 curl_close($ch); // 关闭 curl 句柄 file_put_contents('image.jpg', $img); // 将图片保存到本地文件
このメソッドは file_get_contents よりもパフォーマンスが高くなりますが、コード量が比較的多くなります。
方法 3: リモート ダウンロード ツール
wget や aria2 などのリモート ダウンロード ツールを使用することもできます。これらのツールは、コマンド ラインを通じて指定されたイメージをダウンロードし、ローカル ファイルに保存できます。たとえば、wget コマンドを使用してイメージをダウンロードします。
wget http://example.com/image.jpg -O image.jpg
この方法では、対応するダウンロード ツールのインストールが必要ですが、PHP 開発者にとっては使いにくい可能性があります。
概要
外部画像の取得は一般的な問題であり、PHP で開発する場合、file_get_contents、curl、またはいくつかのリモート ダウンロード ツールを選択してこれを実現できます。実際のニーズに基づいて方法を選択してください。
外部画像を入手する場合は、著作権の問題に注意し、違法にダウンロードして使用しないように注意してください。同時に、外部イメージを頻繁に取得するアプリケーションの場合は、ネットワークとサーバーのリソースの過剰な消費を避けるためにキャッシュ メカニズムを追加する必要があります。
以上がPHPで外部画像を取得する3つの方法を紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。