2017-10-12 70 views
0

我正在使用HighCharts並使用cURL保存圖表圖像。它在我的本地主機上正常工作。但是當我在服務器上嘗試相同的代碼時,圖像是空白的。而在服務器的error_log我發現這個警告消息:Highchart使用cURL保存圖表圖像

PHP Warning: imagecreatefromjpeg(): '10361254147.jpeg' is not a valid JPEG file in public_html/project/assign_img.php on line 34 

,我現在用的就是下面的代碼:

$imgNm = 'https://export.highcharts.com/charts/chart.2ce468213abe432aa1c288339f90171e.jpeg'; 
$img = 'xyz.jpeg'; 
$ch = curl_init($imgNm); 
$fp = fopen($img, "w"); 
curl_setopt($ch, CURLOPT_FILE, $fp); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_exec($ch); 
curl_close($ch); 
fclose($fp); 

imagecreatefromjpeg($img); 

不知道我在哪裏錯了。

+0

您提供的鏈接正在響應HTTP狀態404 – CodeBrauer

+0

這只是一個參考網址..我正在生成一個很好的工作,並在我的本地主機生成圖像。但沒有在服務器上工作 – Mona

回答

0

我爲SSL驗證添加了一行,它是錯誤的,代碼對我來說工作得很好。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

希望這可以幫助別人。

0

如果你只是想保存文件,並顯示在瀏覽器中你不需要捲曲:

$imgNm = 'https://export.highcharts.com/charts/chart.2ce468213abe432aa1c288339f90171e.jpeg'; 
$filename = 'xyz.jpeg'; 

$image_data = file_get_contents($imgNm); 
file_put_contents($filename, __DIR__ . '/' . $imgNm); 

在此之後,文件保存在同一目錄中的腳本(名爲「xyz.jpeg」 ),你可以以任何你想要的方式使用它

+0

我已經使用file_get_contents,但它不工作..這就是爲什麼我使用捲曲。 – Mona