我正在嘗試使用cURL從外部服務器下載映像。此代碼的工作在我的本地Windows XAMPP安裝:cURL在不同的服務器上以不同的方式運行
$ch = curl_init("http://some.server.com/some-image.jpg");
$fp = fopen("testimage.jpg", 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
curl_close($ch);
fclose($fp);
然而,當我採取完全相同的代碼和我的生產服務器上運行它時,圖像不會被成功下載。 testimage.jpg被創建,但文件大小爲0。對curl_errno的調用返回0.是否有影響cURL操作的系統設置?
爲了記錄,我使用的網址確實會導致重定向發生。當我在瀏覽器中輸入網址時,當圖像顯示時,地址欄中會出現不同的網址。不過,我的印象是,CURLOPT_FOLLOWLOCATION是所有需要遵循重定向的,特別是因爲這就是我需要在本地完成這項工作所需的一切。我錯過了什麼嗎?
設置此讓我看到這個警告 - 「警告:curl_setopt():CURLOPT_FOLLOWLOCATION無法在啓用safe_mode或open_basedir設置時激活」。這似乎是不言自明的,我應該能夠從這裏拿走它。謝謝! –