怎么个不行法?我觉得用fopen就应该可以了啊.

解决方案 »

  1.   

    不行地,你看看PHP输出些什么吧:
     Warning: stat failed for http://www.csdn.net/news/images/shalong0316_small.jpg (errno=2 - No such file or directory) in E:\Soft Project\PHP\FileCopy.php on line 13Warning: Wrong parameter count for fread() in E:\Soft Project\PHP\FileCopy.php on line 13Warning: stat failed for http://www.csdn.net/news/images/shalong0316_small.jpg (errno=2 - No such file or directory) in E:\Soft Project\PHP\FileCopy.php on line 14
    Write file failed.原码:
     <?
     global $filename,$content;
     if(!isset($filename)){
    ?>
     <script language=javascript>
      navigate("test.php");
     </script>
    <?
      exit();
     }
     $fr=fopen($filename,"r");
     $fw=fopen("c:\\test.jpg","w");
     fread($fr,$content,filesize($filename));
     $res=fwrite($fw,$content,filesize($filename));
     fclose($fr);
     fclose($fw); if(!$res)
      echo "Write file failed.";
     else
      echo "Success!";
    ?>
      

  2.   

    fopen不能用来打开异地文件的,要用fsockopen函数
      

  3.   

    楼上错误,fopen可以打开异地文件上面的程序错误在filesize不能获取远程文件的大小。
      

  4.   

    提供一个思路:
    用fsockopen函数模拟一个http请求,然后分析服务器返回的Content-Length: 值,这个值就是文件的长度。感觉filesize应该不难获取这个数值,php为什么不支持?
      

  5.   

    sorry,fopen是可以打开异地文件,但是似乎要服务器允许才行。
    我写了个例子,但是上传到服务器后出现
    Warning: fopen("http://www.csdn.net/images/csdn.gif","r") - Bad file descriptor in /u/c973.51.net/openfile.php on line 2Warning: Supplied argument is not a valid File-Handle resource in /u/c973.51.net/openfile.php on line 5Warning: Supplied argument is not a valid File-Handle resource in /u/c973.51.net/openfile.php on line 7
    而在本地机用omnihttpd服务器调试却可以通过....
      

  6.   

    服务器作了限制,连fsockopen都不可以了,提示:
    Permission denied (13)
      

  7.   

    麻烦了,这样根本就没办法,估计这个php也是在safe mode下运行的吧?那样你就放弃这个空间吧,没有办法的。