0

我正在开发一个用户可以上传图片的网站。

一旦用户插入图像的 url(仅远程),我将 ajax 调用到一个 php,该 php 获取 url 并将其存储到服务器。

问题是file_get_contents:

对于某些图像,它给我连接超时,对于其他没有。

一些给我错误的图像是:

我简单地尝试以这种方式获取内容:

$img   = "http://www.lloydsbaiahotel.it/images/bgtop/03.jpg";
$inbuf = file_get_contents($img);
var_dump($inbuf);

可能是什么问题呢?我是否必须更改服务器的某些配置?

4

2 回答 2

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);
于 2013-08-26T17:28:30.507 回答
0

file_get_contents() 不处理慢速网络连接或重定向以获取远程文件。您可以使用允许自定义连接超时值的 fsockopen()。

您将从这里获得更多信息。

您还可以使用 curl 获取远程文件。您也可以查看curl 手册

于 2013-08-26T16:26:17.477 回答