0
我寫了一個PHP腳本,可以讓我遠程託管的JPG的尺寸(寬度和高度),而無需下載它在滿(只是第10K)。獲取從部分提取JPG尺寸沒有寫入磁盤
的問題,這是我寫的部分下載到文件,然後讀取該文件(使用getImageSize
)提取我需要的信息。
我知道這可以下來,而不寫入磁盤,但我不知道如何。
任何人有建議/解決方案?
這裏是我的原代碼:
function remoteImage($url){
$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
curl_setopt($ch, CURLOPT_RANGE, "0-10240");
$fn = "partial.jpg";
$raw = curl_exec($ch);
$result = array();
if(file_exists($fn)){
unlink($fn);
}
if ($raw !== false) {
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($status == 200 || $status == 206) {
$result["w"] = 0;
$result["h"] = 0;
$fp = fopen($fn, 'x');
fwrite($fp, $raw);
fclose($fp);
$size = getImageSize($fn);
if ($size===false) {
// Cannot get file size information
} else {
// Return width and height
list($result["w"], $result["h"]) = $size;
}
}
}
curl_close ($ch);
return $result;
}
我原來的問題,從而導致這一點,是here - and might be helpful。
假如你嘗試過這個人的解決方案? http://www.php.net/manual/en/function.getimagesize.php#88793 –