function plugin_tenki_cache_image_fetch($target, $id) { $filename = MOD_PUKI_UPLOAD_DIR . $id . "_tenki.gif"; if (!is_readable($filename)) { $result = PukiWikiFunc::http_request($target); if ($result['rc'] == 200) { $data = $result['data']; plugin_tenki_cache_image_save($data, $filename); $size = @getimagesize($filename); $url = MOD_PUKI_UPLOAD_URL . $id . "_tenki.gif"; } else { $url = ''; $size = false; } } else { $url = MOD_PUKI_UPLOAD_URL . $id . "_tenki.gif"; $size = @getimagesize($filename); } return array($url, $size); }
function plugin_tenki_cache_image_fetch($target, $id) { $filename = MOD_PUKI_UPLOAD_DIR . $id . "_tenki.gif"; if (!is_readable($filename)) { $file = fopen($target, "rb"); // たぶん size 取得よりこちらが原始的だからやや速い if (!$file) { fclose($file); $url = MOD_PUKI_NOIMAGE; } else { // リモートファイルのパケット有効後対策 // http://search.net-newbie.com/php/function.fread.html $contents = ""; do { $data = fread($file, 8192); if (strlen($data) == 0) { break; } $contents .= $data; } while (true); fclose($file); $data = $contents; unset($contents); $size = @getimagesize($target); // あったら、size を取得、通常は1が返るが念のため0の場合も(reimy) if ($size[0] <= 1) { $url = MOD_PUKI_NOIMAGE; } else { $url = MOD_PUKI_UPLOAD_URL . $id . "_tenki.gif"; } } plugin_tenki_cache_image_save($data, $filename); } else { $url = MOD_PUKI_UPLOAD_URL . $id . "_tenki.gif"; } $size = @getimagesize($filename); return array($url, $size); }