Aşağıdaki kod cURL kullanarak bir istemci siteye bir sunucudan anında oluşturulan bir görüntü aktarır. Son zamanlarda çalışmayı durdurdu ve sorunun ne olduğunu bulmak mümkün olmamıştır:
// get_image.php
ob_start();
// create a new CURL resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, 'url/to/image.php');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// set timeouts
set_time_limit(30);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
// open a stream for writing
$outFile = fopen($fileDestination, 'wb');
curl_setopt($ch, CURLOPT_FILE, $outFile);
// grab file from URL
curl_exec($ch);
fclose($outFile);
// close CURL resource, and free up system resources
curl_close($ch);
ob_end_clean();
//image.php
/*
* Create image based on client site ...
*/
$filePath = 'path/to/image.png'
$imageFile = file_get_contents($filePath);
header("content-type: image/png");
echo $imageFile;
unlink($filePath);
Dosya get_image.php bir istemci sitede bulunan ve benim sunucu bulunan dosya image.php çağırır.
Bu kodu çalıştırdıktan sonra istemci sitesinde görüntü orijinal yaklaşık 7 bayt büyüktür, bu bayt satır sonları gibi görünüyor. Birkaç saat boyunca hata ayıklama sonra ben $ imagefile echo bu byte eklenir öğrendim. 7 bayt elle çıkan görüntü çıkarılırsa, resim düzgün görüntüler.
Atılan hiçbir hata ne de istisnalar vardır. Sunucuda oluşturulan görüntü hiçbir sorunları ile oluşturulur. "Içerdiği hatalar nedeniyle, görüntü 'url / / image.php için' görüntülenemiyor" FF tek çıkışı
Ben bu neden ne emin değilim. Yardım büyük takdir.
- Onema
UPDATE: