【问题标题】:What is the simplest way to download file in PHP用PHP下载文件的最简单方法是什么
【发布时间】:2010-04-08 23:27:20
【问题描述】:

我需要从某个 URL 下载图像到我的服务器。但是,我的服务器配置不允许我这样做:

getimagesize( $file );

因为,它会产生错误:

Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration in somefile.php  on line 10

那么,我可以使用另一种不需要外部库的方法吗?

好的,我用 OIS 的解决方案解决了这个问题:

$filename = '/tmp/'.md5($file);
$ch = curl_init($file);
$fp = fopen($filename, "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);

$ext = getimagesize( $filename );

【问题讨论】:

    标签: php curl file-get-contents file-access built-in


    【解决方案1】:

    你可以试试curl

    【讨论】:

      【解决方案2】:

      除非你修改服务器配置,否则这是不可能的

      【讨论】:

        【解决方案3】:

        如果您的服务器上禁用了对 URL 的文件访问,则您无法从外部 URL 加载任何内容。这就是该配置的目的。

        在未禁用它的服务器上,file_get_contents($url) 是获取大多数文件的最简单方法。

        【讨论】:

          【解决方案4】:

          使用以下命令将文件下载到$imgdata。然后,您可以将其保存到文件并获取其图像大小。您可能可以通过一些工作来删除文件保存步骤以使其更快。

          $imgdata = get_file_contents($url);
          file_put_contents($filename, $imgdata);
          getimagesize( $filename );
          

          【讨论】:

          • 这不起作用,因为服务器配置。此外,您的代码会产生致命错误。
          猜你喜欢
          • 2014-01-28
          • 2011-09-29
          • 1970-01-01
          • 2013-02-11
          • 1970-01-01
          • 2014-05-16
          • 2023-03-15
          • 2014-06-03
          • 1970-01-01
          相关资源
          最近更新 更多