有趣的問題我似乎遇到過。我有一個表單上傳圖像並將其存儲在數據庫表中。表單上傳圖像文件OK並使其可用於處理。問題如下:使用move_uploaded_file到指定的目錄不起作用,但是使用copy()
到這個目錄呢。PHP move_uploaded_file/copy issue
的代碼當前如下:
$file = $_FILES['doc_path'];
$ext = array_pop(explode('.', $file['name']));
$filename = uniqid() . '.' . $ext;
if ($file['error'] == UPLOAD_ERR_NO_FILE && ! strlen($this->filename)) {
throw new Exception('Please select a file to upload');
} elseif ($file['error'] == UPLOAD_ERR_NO_FILE) {
return true; // already have a file
} elseif ($file['error']) {
throw new Exception('File upload error');
} elseif (! $file['size']) {
throw new Exception('File is of zero length');
} else {
$path = 'uploads/' . $filename;
if (! move_uploaded_file($file['tmp_name'], $path)) {
throw new Exception('Could not upload file');
}
return $filename;
}
我已經檢查目標目錄存在,並且該目錄是可寫的。使用move_uploaded_file()不會產生錯誤,只會捕獲「無法上傳文件」異常。
本來想過如果這是一個權限問題,那麼用move_uploaded_file
代替copy
就行不通了?
你有沒有得到這個修復?我有同樣的問題。 – Scott 2011-07-21 16:04:45
oops,沒有擴展下面的評論線程。我找到了print_r($ _ FILES);對我非常有幫助。謝謝。 – Scott 2011-07-21 17:27:32