2011-03-03 64 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...]") 

它不會找到該文件夾​​。相匹配的文件夾名稱

通知您使用大寫或小寫

  • 我只是達到了這個職位,而試圖弄清楚一個問題,現在,它是解決了,我希望這會幫助別人。