我的PHP腳本可以上傳文件,但是在高於自身的目錄中不能這樣做。PHP無法在高於它的目錄中上傳文件
例如:它會在upload/
節省(相對路徑在同一水平作爲腳本),但不是在/usr/local/hello/
即使該文件的權限是正是相同。沒有最大上傳大小,最大發布大小,執行時間和安全模式關閉的問題。任何人有任何想法?我什至不能得到一個錯誤信息 - 只有當它失敗時,下面的$worked
返回false。
<?php
// Removed the rest of the error-checking code!
$contentDir = "/usr/local/hello/"; // <-- doesn't work, chmod 0777, owner: root, group root
//$contentDir = "upload/"; <-- works, chmod 0777 owner: root, group: root
error_reporting(E_ALL);
$filename = $_FILES["filey"]["name"];
$worked = move_uploaded_file(
$_FILES["filey"]["tmp_name"],
$contentDir.$filename);
var_dump($worked);
?>
編輯:我的open_basedir設置,通過phpinfo()函數給出的,分別是:
Directive Local Value Master Value
open_basedir no value no value
謝謝!
可能不是這種情況(我會去open_basedir),但是你沒有運行chroot這個東西?即你認爲它是/ usr/local/hello,但php認爲不然? (因爲其他差異是絕對vs相對路徑) – mvds 2010-07-20 23:03:57