2012-05-03 72 views
0

嘗試上傳圖像文件時,託管服務器有時會發出警告。如果我嘗試上傳相同的文件在成功嘗試圖像將被上傳。主機服務器中的文件上傳問題

警告:

Warning (2): move_uploaded_file(files/photos/3.jpg) [http://php.net/function.move-uploaded-file]: failed to open stream: Permission denied [APP/controllers/components/file_upload.php, line 55] 
Warning (2): move_uploaded_file() [http://php.net/function.move-uploaded-file]: Unable to move '/tmp/phpUutr9Z' to 'files/photos/3.jpg' [APP/controllers/components/file_upload.php, line 55] 

文件上傳

if (is_uploaded_file($file_temp)) { 
    if (move_uploaded_file($file_temp, $destination . $filename . '.' . $extension)) { 
    $error = "SUCCESS"; 
    return $error; 
    } else { 
    $error = "ERROR"; 
    return $error; 
    } 
} 

在這裏發出警告中的其他部分 '錯誤' 還與警告返回時...

我如何糾正呢?

它是工作在本地服務器不錯...

+0

你是說你已經上傳的文件,或者已經存在的文件能夠上傳,而新的文件不能?但我同意Valerly的權限。 – earlonrails

+0

文件'test.jpg',第一次可能顯示警告,但下次可能會上傳到服務器... –

回答

2

也許你的腳本沒有權限寫入到目標目錄。

+0

如果權限錯誤,那麼文件不會被上傳到服務器不是嗎?這裏的文件上傳到服務器,但只有在某些情況下,錯誤顯示和上傳失敗 –

0

那麼APP/controllers/components/files/photos/3.jpg你想要保存你的上傳?如果是這樣,那麼它的權限問題。

還是你的意思是:如果WEB_ROOT/files/photos/3.jpg所以你需要太多改變你的代碼:

if (is_uploaded_file($file_temp)) { 
    if (move_uploaded_file($file_temp, '/'.$destination.$filename.'.'.$extension)) { 
    $error = "SUCCESS"; 
    return $error; 
    } else { 
    $error = "ERROR"; 
    return $error; 
    } 
} 

通知斜槓'/'.$destination

+0

我使用框架蛋糕php,目的地是'webroot/files/photos/3.jpg'。但一些時間代碼問題工作正常..只有某些情況下,它會返回警告... –

0

檢查CHMOD上的目錄和文件。通常PHP的運行方式與的根目錄類似,但仍然可以通過CHMOD禁止訪問。

相關問題