我正在开发一个用户可以上传图片的网站。
一旦用户插入了图片的url(只有远程),我就会将ajax调用到一个带有url并将其存储到服务器的php中。
问题是file_get_contents:
对于某些图像,它给了我连接超时,其他编号
一些给我错误的图片是:
我只是尝试以这种方式获取内容:
$img = "http://www.lloydsbaiahotel.it/images/bgtop/03.jpg";
$inbuf = file_get_contents($img);
var_dump($inbuf);
可能是什么问题?我是否必须更改服务器的某些配置?
答案 0 :(得分:1)
尝试使用cURL,它提供了比file_get_contents更多的选项和控制,如下所示:
$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$raw=curl_exec($ch);
curl_close ($ch);
$fp = fopen($save_to,'x');
fwrite($fp, $raw);
fclose($fp);
答案 1 :(得分:0)
file_get_contents()不处理慢速网络连接或重定向以获取远程文件。您可以使用允许自定义连接超时值的fsockopen()。
您将从here获得更多信息。
您也可以使用curl来获取远程文件。您也可以看到curl manual: