2012-04-04 60 views
0

我嘗試上傳文件到我的服務器也到我的數據庫。文件上傳php與文件陣列

但是,我無法上傳它們。

我可以看到下面的代碼我的兩個文件,

echo $_FILES['file']['name'][0]; 
echo $_FILES['file']['name'][1]; 


$fileName = $_FILES['file']['name'][0]; 
$add = "img01.imgsinemalar.com/images/haber_anasayfa/" . $fileName; 

if (move_uploaded_file($_FILES[file_up][tmp_name], $add)) { 
    NCore::db('NEWS')->insertAsArray(array('CONTENT' => $_POST['TvSpotdesc'], 'ADD_DATE' => $date, 'TITLE' => $_POST['newsTitle'],IMAGE_MAIN => $add))->execute(); 
    echo "Haber başarıyla gönderildi."; 
} else { 
    echo "Failed to upload file Contact Site admin to fix the problem"; 
}else { 
    echo $msg; 
} 

但上面的代碼不會上傳我的文件,它直接進入else語句,爲什麼呢?

上傳文件失敗聯繫網站管理員來解決這個問題

回答

1

你的代碼應該輸出兩個通知,並從該行警告:

if (move_uploaded_file($_FILES[file_up][tmp_name], $add)) { 

兩個通知是因爲您尚未引用file_uptmp_name,並通知您move_uploaded_file失敗的原因,as documented。你應該檢查日誌以便自己查看這些日誌(沒有看到任何錯誤消息的開發並不好玩)。

原因失敗的是,您無法將文件移動到遠程服務器 - $add不是本地路徑。

0

重命名$_FILES[file_up][tmp_name]$_FILES['file']['tmp_name']

有作爲file_up沒有這樣的變量按你的代碼粘貼。而且,文件只能存儲在同一臺服務器上。所以gove相對路徑,如/home/www/myapp/images/而不是服務器名稱。