PHPを使用してURLから画像をフォルダに保存する方法


方法1: file_get_contents()とfile_put_contents()を使用する方法

<?php
$url = 'https://example.com/image.jpg'; // 保存したい画像のURL
$savePath = 'path/to/save/folder/image.jpg'; // 保存先のパス
$imageData = file_get_contents($url); // 画像のデータを取得
file_put_contents($savePath, $imageData); // フォルダに画像を保存
?>

上記の例では、file_get_contents()関数を使用して指定したURLから画像のデータを取得し、file_put_contents()関数を使用して取得したデータをフォルダに保存しています。

方法2: cURLを使用する方法

<?php
$url = 'https://example.com/image.jpg'; // 保存したい画像のURL
$savePath = 'path/to/save/folder/image.jpg'; // 保存先のパス
$ch = curl_init($url);
$fp = fopen($savePath, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>

上記の例では、cURLを使用して指定したURLから画像をダウンロードし、ファイルポインタ(fopen())を使用してフォルダに保存しています。

方法3: GuzzleHttpを使用する方法

GuzzleHttpはPHPのHTTPクライアントライブラリで、URLからデータをダウンロードするための便利な機能を提供します。まず、GuzzleHttpをインストールします。

composer require guzzlehttp/guzzle

以下は、GuzzleHttpを使用してURLから画像をダウンロードし、フォルダに保存する例です。

<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Stream;
$url = 'https://example.com/image.jpg'; // 保存したい画像のURL
$savePath = 'path/to/save/folder/image.jpg'; // 保存先のパス
$client = new Client();
$response = $client->request('GET', $url);
$imageData = $response->getBody();
$saveStream = new Stream(fopen($savePath, 'w'));
$saveStream->write($imageData);
$saveStream->close();
?>

上記の例では、GuzzleHttpのClientクラスを使用してURLから画像をダウンロードし、Streamクラスとfopen()を使用してフォルダに保存しています。

これらの方法を使用して、PHPでURLから画像をダウンロードしてフォルダに保存することができます。適切なパスとファイル名を指定してください。