2011-06-29 41 views
4

我有一個圖像在我的templates文件夾是使用PHP與背景模板.jpg(存儲在同一文件夾中)和一些從窗體提交的文本。它被保存爲一個jpg文件夾。我想將php結構的圖像複製到一個文件夾uploads,然後將其重命名爲image451.jpg或任何id號碼。我想我應該使用copy()rename() php函數,但我無法讓它們工作。我該怎麼做呢?php和移動圖像到新文件夾

+0

「無法讓他們工作」很含糊。您可以發佈您使用的代碼,並告訴我們您遇到的具體錯誤或意外行爲嗎? –

+0

當你說「我無法讓他們['copy()'和'rename()']工作時,」你是什麼意思?他們怎麼不*工作? – Sampson

回答

3

您將需要確保您的Web服務器具有對您希望它們駐留的uploads目錄的寫入權限。然後,你可以這樣做:

if (!rename("oldfilename.jpg", "/path/to/uploads/image451.jpg")) 
{ 
    echo "oops, something went wrong moving your file."; 
} 

我們不知道你正在運行的服務器平臺,所以我不能具體如何檢查目錄的寫權限,除非您添加信息到你的問題。

+0

謝謝,我會盡力的。 – webmachine

+0

@webmachine,@Oscar M的答案要完整得多。用他的代替! –

2

在嘗試移動新文件之前,您應該測試您的目標是否可寫。

$dest_dir = "/path/to/uploads/"; 
$src_file = "path/to/orig/file.jpg"; 
if (is_writeable($dest_dir)) { 
    $dest_file = $dest_dir . DIRECTORY_SEPARATOR . basename($src); 
    if (false == rename($src, $dest_file)) { 
     trigger_error('Could not move file', E_USER_ERROR); 
    } 
} 
else { 
    trigger_error('Destination dir is not writeable', E_USER_WARNING); 
} 
相關問題