2017-10-09 148 views
-1

我正在使用laravel。 img不會上傳到我的public/imgs文件夾。它一直在說抱歉,上傳文件時出現錯誤。無法將img上傳到文件夾

// PHP CODE 
$target_dir = "public/imgs/"; 
$target_file = $target_dir . basename($_FILES["img"]["name"]); 


if (move_uploaded_file($_FILES["img"]["name"], $target_file)) { 
    echo "success"; 
} 
else { 
    echo "Sorry, there was an error uploading your file."; 
} 

// HTML CODE 
<form method="POST" action="/listings" enctype="multipart/form-data"> 
    <input type="file" name="img"> 
</form> 
+0

嘗試'回聲'抱歉(上傳失敗)'。 $ _FILES ['img'] ['error'];'並參見這裏的參考http://php.net/manual/en/features.file-upload.errors.php – vee

+0

我認爲你應該寫完整的路徑根路徑(如:/ var/www/public/imgs)除非當然如果公開已經在根路徑 –

+0

@vee當我這樣說時。對不起(上傳失敗)0 我試過已經jacky – Jeff99

回答

0

也許你應該改變你原有的move_uploaded_file功能

move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile) 

See the diff between name and tmp_name

+0

它仍然有相同的錯誤。抱歉,上傳文件時出錯。 – Jeff99

+0

imgs目錄是否存在? – obfish

+0

是這裏是https://imgur.com/a/dPVXr – Jeff99

0

首先確保上傳目錄是現有的和可寫的;然後file_uploads是在php.ini

+0

即時通訊使用laravel我該如何做?這裏是我的文件https://imgur.com/a/dPVXr – Jeff99

+0

你可以使用public_path('')在laravel中獲得正確的上傳目錄。然後$ file = request-> file()獲取上傳文件,然後移動$ file-> move() –

0
<form method="POST" action="/listings" enctype="multipart/form-data"> 
    <input type="file" name="img"> 
</form> 

HTML

$target_dir = "public/imgs/"; 
$target_file = $target_dir . basename($_FILES["img"]["name"]); 
if ($_FILES['img']['error'] == 0) { 
    if (move_uploaded_file($_FILES['img']['tmp_name'], $target_file)) { 
     echo 'success'; 
    } else { 
     echo 'upload failed<br>'; 
     echo '<pre>'; 
     echo 'tmp name: '; 
     print_r($_FILES['img']['tmp_name']); 
     echo "\n target: ".$target_file; 
     echo "\n\n"; 
     print_r($_FILES['img']); 
     echo '</pre>'; 
    } 
} else { 
    echo 'upload failed: ' . $_FILES['img']['error']; 
} 

PHP

此代碼應工作,並顯示所有數據進行調試。

相關問題