【发布时间】:2012-02-18 03:26:18
【问题描述】:
我正在编写一个脚本,该脚本从 Twitter API 获取图像,并在 base64 上返回它,但我遇到了麻烦,因为该文件位于远程服务器 (Twitter) 上。这里我展示代码,主要问题是fread() 和filesize()。我明白了:
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.'" />';
}
?>
出于显而易见的原因,我用 ... 替换了个人数据,这没有问题。谢谢!
【问题讨论】:
标签: php mysql twitter filesize fread