我一直在开发一个用于推广 Tumblrs 的网站。我刚刚创建了我的第一个 PHP 图像服务器脚本,这样我们就可以保存 Tumblr 头像并减少那些讨厌的 Tumblr API 调用。
我现在在网站上运行它,但是出现了一个奇怪的故障。打开页面时,几乎总是有 1 或 2 个头像显示为损坏的图像。
带有行为的页面:http ://www.tumblrlink.com/
我知道它不是特定于特定帐户的,因为刷新页面通常会显示一组不同的图像损坏。
这是我构建的图像服务器脚本:
<?php
if (!isset($_GET['uri']))
exit();
$url = urldecode($_GET['uri']);
// Check to make sure API URL is passed.
if (strpos($url,'http://api.tumblr.com/') === FALSE)
exit();
// Get the User's Tumblr "Short Name"
$shortName = $url;
$shortName = str_replace('http://api.tumblr.com/v2/blog/','',$shortName);
$shortName = str_replace('/avatar/40','',$shortName);
$avatarLoc = '../../media/avatars/' . $shortName . '.png';
// Save the Avatar to the server for use.
if (!file_exists($avatarLoc)) {
copy($url, $avatarLoc);
}
// Write out the contents of the Avatar Image.
header("Content-Type: image/png");
header("Content-Length: " . filesize($avatarLoc));
readfile($avatarLoc);
exit();
?>
现在,正如您在链接上看到的那样,图像已成功保存并提供服务……但只有 90% 的时间。
这里是否存在某种编程计时问题,或者这可能是服务器/环境的问题?任何帮助,将不胜感激。