http_request() がうまくいかないことがある。

メッセージ

amazonプラグインで http_request() を使って画像ファイルを取り込もうとしたところ、Linux のディストリビューションによっては不完全になります(たぶんテキストになっている)。

皆さんの環境ではどうですか?

<?php
/////////////////////////////////////////////////
function plugin_zzz_inline() {
  $aryargs = func_get_args();
  if ($aryargs[0] == 'proxy')
    $rc = http_request("http://images-jp.amazon.com/images/P/B00008WJ2I.09.MZZZZZZZ.jpg");
  else
    $rc["data"] = amazon_getfile("http://images-jp.amazon.com/images/P/B00008WJ2I.09.MZZZZZZZ.jpg");
  amazon_savefile(CACHE_DIR . "ZZZ.jpg", $rc["data"]);
  return "<a href='./cache/ZZZ.jpg'>image</a>";
}
function amazon_savefile($file, $body) {
  $fp = fopen($file, "wb");
  if (! $fp) return false;
  fwrite($fp, $body);
  fclose ($fp);
  return true;
}
function amazon_getfile($file) {
  $fp = fopen($file, "rb");
  if (! $fp) return '';
  $body = '';
  while (!feof($fp)) $body .= fread($fp, 4096);
  fclose ($fp);
  return $body;
}
?>

がダイジェストです。 これを zzz.inc.php としてプラグインに登録して試してもらえませんか。 呼び出しは

&zzz();

が http_request() を使わない場合、

&zzz(proxy);

が使う場合です。今までのところ、

環境proxy環境http_request使用proxy環境http_request不使用
Debian PHP4.1.2
Vine 2.6 PHP4.2.2

および

環境一般環境http_request使用一般環境http_request不使用
Debian PHP4.1.2
Vine 2.6 PHP4.2.2×

のような感じです。 Debian は PukiWiki 1.4.2、Vine は PukiWiki 1.4rc4 というのによるのかもしれません。



トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-02-12 (木) 22:04:18
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.225 sec.

SourceForge