Merge pull request #2262 from annando/1601-http-timeouts
Timeout problems while fetching image data
This commit is contained in:
commit
2ef63b6593
3 changed files with 18 additions and 10 deletions
|
@ -792,15 +792,19 @@ function get_photo_info($url) {
|
||||||
|
|
||||||
$filesize = strlen($img_str);
|
$filesize = strlen($img_str);
|
||||||
|
|
||||||
$tempfile = tempnam(get_temppath(), "cache");
|
if (function_exists("getimagesizefromstring"))
|
||||||
|
$data = getimagesizefromstring($img_str);
|
||||||
|
else {
|
||||||
|
$tempfile = tempnam(get_temppath(), "cache");
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
$stamp1 = microtime(true);
|
$stamp1 = microtime(true);
|
||||||
file_put_contents($tempfile, $img_str);
|
file_put_contents($tempfile, $img_str);
|
||||||
$a->save_timestamp($stamp1, "file");
|
$a->save_timestamp($stamp1, "file");
|
||||||
|
|
||||||
$data = getimagesize($tempfile);
|
$data = getimagesize($tempfile);
|
||||||
unlink($tempfile);
|
unlink($tempfile);
|
||||||
|
}
|
||||||
|
|
||||||
if ($data)
|
if ($data)
|
||||||
$data["size"] = $filesize;
|
$data["size"] = $filesize;
|
||||||
|
|
|
@ -1246,6 +1246,9 @@ function original_url($url, $depth=1, $fetchbody = false) {
|
||||||
|
|
||||||
$a->save_timestamp($stamp1, "network");
|
$a->save_timestamp($stamp1, "network");
|
||||||
|
|
||||||
|
if ($http_code == 0)
|
||||||
|
return($url);
|
||||||
|
|
||||||
if ((($curl_info['http_code'] == "301") OR ($curl_info['http_code'] == "302"))
|
if ((($curl_info['http_code'] == "301") OR ($curl_info['http_code'] == "302"))
|
||||||
AND (($curl_info['redirect_url'] != "") OR ($curl_info['location'] != ""))) {
|
AND (($curl_info['redirect_url'] != "") OR ($curl_info['location'] != ""))) {
|
||||||
if ($curl_info['redirect_url'] != "")
|
if ($curl_info['redirect_url'] != "")
|
||||||
|
|
|
@ -71,6 +71,7 @@ function parseurl_getsiteinfo_cached($url, $no_guessing = false, $do_oembed = tr
|
||||||
|
|
||||||
function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $count = 1) {
|
function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $count = 1) {
|
||||||
require_once("include/network.php");
|
require_once("include/network.php");
|
||||||
|
require_once("include/Photo.php");
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
|
@ -321,7 +322,7 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co
|
||||||
$attr[$attribute->name] = $attribute->value;
|
$attr[$attribute->name] = $attribute->value;
|
||||||
|
|
||||||
$src = completeurl($attr["src"], $url);
|
$src = completeurl($attr["src"], $url);
|
||||||
$photodata = @getimagesize($src);
|
$photodata = get_photo_info($src);
|
||||||
|
|
||||||
if (($photodata) && ($photodata[0] > 150) and ($photodata[1] > 150)) {
|
if (($photodata) && ($photodata[0] > 150) and ($photodata[1] > 150)) {
|
||||||
if ($photodata[0] > 300) {
|
if ($photodata[0] > 300) {
|
||||||
|
@ -338,12 +339,12 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} elseif ($siteinfo["image"] != "") {
|
||||||
$src = completeurl($siteinfo["image"], $url);
|
$src = completeurl($siteinfo["image"], $url);
|
||||||
|
|
||||||
unset($siteinfo["image"]);
|
unset($siteinfo["image"]);
|
||||||
|
|
||||||
$photodata = @getimagesize($src);
|
$photodata = get_photo_info($src);
|
||||||
|
|
||||||
if (($photodata) && ($photodata[0] > 10) and ($photodata[1] > 10))
|
if (($photodata) && ($photodata[0] > 10) and ($photodata[1] > 10))
|
||||||
$siteinfo["images"][] = array("src"=>$src,
|
$siteinfo["images"][] = array("src"=>$src,
|
||||||
|
|
Loading…
Reference in a new issue