2013-05-16 54 views
-1

我試圖從一個URL獲取圖像,然後將其保存到我的服務器上的圖像文件夾。我的網站託管在BlueHost的,我使用下面的PHP腳本...使用bluehost將圖像從URL保存到服務器 - 獲取錯誤?

$url = "http://www.google.com/images/srpr/logo4w.png"; 
$save_name = "logo4w.png"; 
$save_directory = "/albums/images/art/"; 

if(is_writable($save_directory)) { 
    file_write_contents($save_directory . $save_name, file_get_contents($url)); 
} else { 
    exit("Failed to write to directory ".$save_directory); 
} 

,但每次我嘗試這一次我得到的「無法寫入目錄錯誤」。我真的不知道我做錯了什麼。我真的可以使用一些幫助。

+1

你可以不會寫入該目錄。你確定它是正確的嗎?它看起來應該可能是一個相對目錄而不是絕對目錄? – andrewsi

+0

爲什麼我不能寫入該目錄? – patricko

+0

該目錄是否存在?您的PHP代碼運行的用戶是否具有對該目錄的寫入權限? – andrewsi

回答

0

試試這個:

$url = "http://www.google.com/images/srpr/logo4w.png"; 
$save_name = "logo4w.png"; 
$save_directory = $_ENV["DOCUMENT_ROOT"]."/albums/images/art/"; // This ensures your path is correct 
chmod($save_directory,0777); // This will make sure that directory is writeable 

if(is_writable($save_directory)) { 
    file_write_contents($save_directory . $save_name, file_get_contents($url)); 
} else { 
    exit("Failed to write to directory ".$save_directory); 
} 
+0

當我嘗試這種方法時,我收到服務器錯誤頁面 – patricko

+0

您可以嘗試使用$ _SERVER [「DOCUMENT_ROOT」]而不是$ $ _ENV [「DOCUMENT_ROOT」 ]' –

+0

不會PHP用戶已經需要擁有chmod的目錄以編程方式工作嗎?否則,您可以導航到任何給定的目錄並開始寫入。 – andrewsi

0

原來的實際功能是

file_put_contents($save_directory . $save_name, file_get_contents($url)); 

,而不是

file_write_contents($save_directory . $save_name, file_get_contents($url)); 

感謝您的幫助亞勒,尤其是andrewsi

相關問題