2012-02-18 10 views
0

Twitter APIから画像を取得し、それをbase64で返すスクリプトを実行していますが、ファイルがリモートサーバー(Twitter)上にあるので問題があります。ここでコードを示しますが、主な問題はfread()filesize()です。私はこれを取得:fread、リモートで画像をファイルサイズにする

Warning: filesize() [function.filesize]: stat failed for http://a0.twimg.com/profile_images/...jpg in...

<? 
mysql_connect...; 
mysql_select_db...; 
$autho_name = ...; 
include '../twitter/LibTwitter.php'; 
$sql = mysql_query("SELECT * FROM `users` ORDER BY id DESC"); 
while($result = mysql_fetch_array($sql)) { 
$userid = $result["userid"]; 
$busqueda = $twitter->usersShow($userid); 
$username = $busqueda["screen_name"]; 
$img_src = str_replace("_normal.", "_reasonably_small.", $busqueda["profile_image_url"]); 
$imgbinary = fread(fopen($img_src, "r"), filesize($img_src)); 
$img_str = base64_encode($imgbinary); 
echo '<img src="data:image/jpg;base64,'.$img_str.'" />'; 
} 
?> 

ため、私は明白な理由、それと問題ないとの個人的なデータ...を置き換えます。ありがとう!

答えて

0

だけで画像を取得するためにfile_get_contents()を使用し、それは単純な問題です:

$img = file_get_contents('http://a0.twimg...etc....'); 
$size = strlen($img); 
$base64 = base64_encode($img); 
+0

アハハハ、感謝の男、私はできるだけ早くこれを受け入れます。 – Luis

関連する問題