2013-08-04 42 views
0

我想創建一個上傳表單,用戶可以通過它輸入某些細節(包括文件上傳),然後它將被插入到數據庫中,該行已成功輸入,但我得到這個錯誤。即 警告:move_uploaded_file(上傳/計算機/ SIGN 001.JPG):未能打開流:在C無這樣的文件或目錄:\瓦帕\ WWW \ stockm.php線路28上 & 警告:move_uploaded_file()以:無法在第28行的C:\ wamp \ www \ stockm.php中將'C:\ wamp \ tmp \ php2CEE.tmp'移動到'upload/computer/SIGN 001.jpg'在php中上傳文件時出錯error

這是代碼具有整個上傳文件部分的腳本。

$name= $_FILES['file']['name']; 
    $tmp_name = $_FILES['file']['tmp_name']; 
    $type = $_FILES['file']['type']; 
    $size = $_FILES['file']['size']; 
    $pathAndName = "upload/computer/".$name; 
    $moveResult = move_uploaded_file($tmp_name, $pathAndName); 

我創建了一個文件夾C:我想要發送的圖像,在數據庫中,我得到這個位置,但在上傳/計算機沒有文件/ WAMP /上傳名爲計算機,文件夾是空。

+0

你是在'www'上,並試圖上傳到可能不存在的'/ wamp/www/upload'。使用目標路徑的絕對路徑以及 –

回答

1

您的路徑$pathAndName = "upload/computer/".$name;是一個相對路徑,因此它會從執行腳本的當前目錄中搜索。

例如,如果您從wamp\www\test\upload.php運行,它將搜索wamp\www\test\upload\computer\路徑。

您可以從根目錄指定路徑爲"/upload/computer/".$name;,這將搜索wamp\www\upload\computer路徑。

此外,您必須檢查文件夾是否存在於路徑中,並且有權訪問或讀取它。

+0

非常感謝,它絕對路徑完美工作。 :) – CAO

0

至於你的問題的解決方案,請嘗試執行下面的代碼片段上傳文件

$name= $_FILES['file']['name']; 
$tmp_name = $_FILES['file']['tmp_name']; 
$type = $_FILES['file']['type']; 
$size = $_FILES['file']['size']; 
$pathAndName = $_SERVER['DOCUMENT_ROOT']."upload/computer/".$name; 
$moveResult = move_uploaded_file($tmp_name, $pathAndName); 

在上面的代碼片斷我指定的絕對路徑,該文件需要上傳的目標路徑

+0

非常感謝,但如果我在$ pathandname中分配此值,那麼它仍然在www中搜索目錄,但文件夾上載位於文件夾wamp中,如何爲該目錄設置目錄。 – CAO