勉強したことのメモ

webプログラマが勉強したことのメモ。

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

      2014/05/17

■やりたかった事
・画像があるサーバーは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, 画像

  関連記事

Smartyでテンプレートファイル(tplファイル)を編集しても反映されない

Smartyで作成されたシステムがあり、一部修正でtplファイルを編集したものの ...

日付と時間のピッカー

ここだとbootstrap使用だけど、他に良さそうなものがあったのでメモ。 ■参 ...

FLASHがインストールされているかどうかチェックする

以前にここでちょっとやったけど、インストールされているか どうかだけならもっと良 ...

setcookieで「Cannot modify」エラー

PHPでsetcookieを使うと「Warning: Cannot modify ...

Cannot re-assign auto-global variableのエラー

PHPバージョンアップに伴い「Fatal error: Cannot re-as ...

PHPの文字化け対策

PHPファイルもDBも全部UTF-8で出来たらいいけど、 そうもいかない場合が多 ...

PHPでメルマガを配信する方法2

以前にPHPでメルマガを配信する方法を書いたけど、BCCだと相手の名前などユーザ ...

PHPでCSVを出力する際にメモリを節約

MySQLよりデータを大量に取り出してCSV化し、ダウンロードさせるというPHP ...

PHPで「Unable to allocate~」とエラー

PHPで「Unable to allocate memory for pool」 ...

メールサーバーを構築せずにGmailのSMPTを使ってPHPでメール送信

メールサーバーが立てられなかったり、無料サーバーのため使えなかったりといった場合 ...