【问题标题】:Copy file from remote URL to my server将文件从远程 URL 复制到我的服务器
【发布时间】:2012-08-11 04:58:49
【问题描述】:

我有这个代码,它可以工作,但有一个限制,只能复制 4.0mb 的文件,有人可以帮助我增加该大小以复制更大的文件。谢谢

<? 
  $archivo_origen=$_POST["origen"]; 
  $archivo_destino=$_POST["destino"];

  function descarga_archivo ($archivo_origen,$archivo_destino){ 
    $mi_curl = curl_init ($archivo_origen);  
    $fs_archivo = fopen ($archivo_destino, "w");  
    curl_setopt ($mi_curl, CURLOPT_FILE, $fs_archivo);  
    curl_setopt ($mi_curl, CURLOPT_HEADER, 0);  
    curl_exec ($mi_curl);  
    curl_close ($mi_curl);  
    fclose ($fs_archivo);  
  } 
  descarga_archivo($archivo_origen,$archivo_destino);
    header("location: index.php");


 ?> 

【问题讨论】:

标签: php curl copy


【解决方案1】:
$fs_origen = fopen($archivo_origen, 'r');
$fs_destino = fopen($archivo_destino, 'w');
while($data = fread($fs_origen, 4096)) fwrite($fs_destino, $data);
fclose($fs_origen);
fclose($fs_destino);

编辑:用循环替换stream_copy_to_stream

【讨论】:

  • 所有能用的代码都复制4.0mb,不知道是不是服务器配置
  • 听起来 curl 和 stream_copy_to_stream 都遇到了 php 内存大小限制。您可能必须使用 fread() 和 fwrite() 以较小的块编写自己的循环。
  • 如果你能给我一个例子,我对php了解不多。使用此代码下载被拒绝的文件,因为我来自古巴并且我的代理不允许下载文件 *.可执行程序, *。 zip 谢谢
  • 感谢您的帮助,但我认为由于我的主机配置,只能复制 4.0mb。感谢您的宝贵时间
  • 听起来托管服务器有文件大小限制。他们可能不希望你用垃圾填满他们的磁盘,或者用它来托管大量非法下载。
猜你喜欢
  • 2012-04-08
  • 2019-01-20
  • 2011-05-09
  • 1970-01-01
  • 1970-01-01
  • 2022-01-28
  • 2020-02-25
  • 1970-01-01
  • 2016-09-13
相关资源
最近更新 更多