勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

画像をURLから取得して異なるサーバーにアップロード

   2024/01/12  PHP

■やりたかった事
・画像があるサーバーはaaaサーバー
・アップロード先はbbbサーバー
・formのアップロードではなくURLから画像取得

■ソース
<?php
/* 一時的にファイルを保存 */
$img = file_get_contents('http://aaa.com/images/hoge.jpg');
$tmp_dir = '/hoge/tmp/';
$tmp_name = 'tmp_' . round(rand(1,10000)) . '.jpg';
$tmp_img = $tmp_dir . $tmp_name;
$fp = fopen($tmp_dir . $tmp_name, 'wb');
fwrite($fp, $img);
fclose($fp);

/* ファイルをアップロード */
require_once 'HTTP/Request.php';
$url = "http://bbb/receive.php";
$req =& new HTTP_Request($url);
$req->setMethod(HTTP_REQUEST_METHOD_POST);
$res = $req->addFile('image', $tmp_img);
$req->sendRequest();
$req = $req->getResponseBody();

/* 一時画像の削除 */
if (is_file($tmp_img)) {
unlink($tmp_img);
}
?>

 - PHP

  関連記事

ファイルの更新日付取得とリネーム

やりたかった事は、画像ファイルの更新日時取得と リネーム。 ■参考サイト htt ...

PHPでjpg / png画像をWebP画像に変換し保存する方法

PHPでjpg / png画像を圧縮したかった。ただjpg / pngのままだと ...

smart_resize_imageで縦横の比率関係なく、固定リサイズ

PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズで使ったs ...

PHPで画像のフォーマット(拡張子)の変換

画像のアップロードでjpg/png/gif形式を受け付けつつ、 最終的にjpgで ...

PHPでファイル書き込み時に「failed to open stream: HTTP~~」エラー

PHPでファイルを書き込む際に「failed to open stream: H ...