2013年7月21日

PHPで外部サーバーに置かれている画像ファイルを保存する方法

外部サーバーに置かれている画像ファイルをサイト上に表示させる場合、通常はパスをhttp://から書いて表示させますが、読込先のサーバー環境に依存する事もあり、画像を一旦こちらのサーバーに保存して、読み込みを行いたい時があります。そういった処理も、PHPの便利な関数で簡単に実現出来ます。

※php.ini で allow_url_fopen=On になっている事が条件です

// 画像ファイルを取得
$image_path = file_get_contents("http://URL/Filename", FILE_BINARY);
// 画像ファイルを指定場所に保存
file_put_contents("/PATH/FILENAME", $image_path);

file_get_contents についてはhttpからファイル名までを記述し、file_put_contents についてはルートからのパスを記述します。また画像を保存するディレクトリのパーミッションも書き込み可にしておく必要がありますので、ご利用の際はご注意下さい。

コメントを残す

メールアドレスが公開されることはありません。