2011-03-03 61 views
2

同时使用PHP函数副本()PHP副本()错误

Warning: copy() [function.copy]: Couldn't resolve host name in

Warning: copy(http://www.foodtest.ru/images/big_img/sausage_3.jpg) [function.copy]: failed to open stream: operation failed in

什么是错网址我得到的错误?

+0

您能否包含您正在使用的确切代码?是否启用了allow_url_fopen? – McHerbie 2011-03-03 00:37:51

+0

@McHerbie是正确的,如果你的服务器没有启用allow_url_fopen,那么你将无法使用copy();方法。然而,绕过这个就是使用file_get_contents,它将整个文件读入可以操作的字符串中。 – 2011-03-03 00:41:27

+0

我只在该文件上发生错误。我不使用allow_url_fopen。我如何设置PHP,所以它通过文件,他不能下载并继续前进。目前,当我得到这样的错误 - php停止。谢谢! – Tuco 2011-03-03 00:45:25

回答

1

尝试用引号“”括起URL。

+4

在php中它是在引号 – Tuco 2011-03-03 00:37:37

+0

@Tuco:非常重要的是要注意的是,copy()处理url包装,但有时不正确。但是,它不适用于文件名中的空格(从PHP 5.2.13开始)。 要解决此问题,您需要用%20替换空格。也可以尝试将file.jpg更改为file1.jpg之类的其他名称,并确保它不存在,并且您在该目录中具有写入权限。 – Raja 2011-03-03 01:06:10

+1

@Tuco:尝试通过运行以下代码来获得确切的错误:<?php if(!@copy('http://www.foodtest.ru/images/big_img/sausage_3.jpg',''/somefile。 zip')) { $ errors = error_get_last(); echo“COPY ERROR:”。$ errors ['type']; echo“
\ n”。$ errors ['message']; } else { echo“从远程复制的文件!”; } ?> – Raja 2011-03-03 01:16:57

1

尝试插入目标参数,并确保在参数周围有软滴答声。

copy("http://www.foodtest.ru/images/big_img/sausage_3.jpg", "./file.jpg"); 
+0

获取相同的错误,可能是文件渗透错误吗?我只在该文件上出错 – Tuco 2011-03-03 00:40:12

+0

definetly检查php.ini中的allow_url_fopen,如@McHerbie所述,如果你不能这样做,那么尝试file_get_contents正如我上面提到的 – 2011-03-03 00:43:19

+0

没有看到你说你只有在该文件上得到错误,所以这适用于其他文件来自不同的URL? – 2011-03-03 00:44:08

-1

也许源被某种阻塞技术保护,导致无法连接。

0

有点老了,但重要的是要注意的是,万一这可以帮助别人谁送过来:

copy命令是文件夹,区分大小写,因此,如果您尝试从一个名为文件夹复制1.JPG “ThumbImages”就像这样:

copy("thumbimages/1.jpg","[destination...]") 

它不会找到该文件夹​​。相匹配的文件夹名称

通知您使用大写或小写

  • 我只是达到了这个职位,而试图弄清楚一个问题,现在,它是解决了,我希望这会帮助别人。