나는 Tumblrs를 홍보하는 데 사용 된 웹 사이트에서 일하고 있습니다. Tumblr 아바타를 저장하고 불쾌한 Tumblr API 호출을 줄일 수 있도록 처음으로 PHP 이미지 서버 스크립트를 만들었습니다.깨진 이미지를 반환하는 PHP 이미지 서버 스크립트
나는 지금 사이트에서 작업하고 있지만 이상한 결함이 있습니다. 페이지가 열리면 거의 항상 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 %가된다.
여기서 프로그래밍 된 타이밍 문제가 있습니까? 아니면이 문제가 서버/환경에서 발생할 수 있습니까? 어떤 도움을 주시면 감사하겠습니다.
우리가 제공 할 수있는 대답은 순수한 추측입니다. 문제를 찾는 가장 좋은 방법은 프로세스의 모든 단계를 기록하도록 코드를 업데이트하여 언제 어디에서 오류가 발생하는지 확인할 수 있도록하는 것입니다. 그런 다음 공통 요소를 식별하지 못한 경우 로그를 참조 할 수 있습니다. –
file_get_contents 또는 cURL을 사용하여 이미지 데이터를 가져오고 wassup을 봅니다. –
@GeorgeCummins 서버에 대한 액세스없이이 문제를 파악할 수있는 방법이 없다는 것을 알고 있습니다. 나는 커뮤니티의 누군가가'readfile()'함수와 비슷한 경험을 갖고 있으며 해결 방법을 알고 있는지 궁금했다. – TbWill4321