我想tcp
從我的linux php ec2實例到另一臺服務器的圖像。
當我回應的內容fopen
和fread
我可以看到圖像處理,但只有一半
有沒有人知道是什麼造成這個請,謝謝。php fopen fread圖像
$imageURL = 'http://ec2-**-***-**-**.compute-1.amazonaws.com/New_Era_For_NASA_2.jpg';
$ch = curl_init($imageURL);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$data = curl_exec($ch);
//echo $data;
curl_close($ch);
if ($data === false) {
die('cURL failed');
}
if (preg_match('/Content-length: (\d+)/', $data, $matches) || preg_match('/Content-Length: (\d+)/', $data, $matches)) {
$size = (int)$matches[1];
}
$fileHandle = fopen($imageURL, 'rb'); //r or rb
$fileData = fread($fileHandle, $size);
//echo $fileData;
fclose($fileHandle);
$data = $fileData;
header('Content-type: image/jpeg');
echo $data;
如果你只是'fread'直到最後,沒有定義的大小? – deceze
@deceze我得到「無法顯示,因爲它包含錯誤」 –