无法将img上传到文件夹
问题描述:
我正在使用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>
答
也许你应该改变你原有的move_uploaded_file
功能
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)
答
首先确保上传目录是现有的和可写的;然后file_uploads是在php.ini
+0
即时通讯使用laravel我该如何做?这里是我的文件https://imgur.com/a/dPVXr – Jeff99
+0
你可以使用public_path('')在laravel中获得正确的上传目录。然后$ file = request-> file()获取上传文件,然后移动$ file-> move() –
答
<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
此代码应工作,并显示所有数据进行调试。
尝试'回声'抱歉(上传失败)'。 $ _FILES ['img'] ['error'];'并参见这里的参考http://php.net/manual/en/features.file-upload.errors.php – vee
我认为你应该写完整的路径根路径(如:/ var/www/public/imgs)除非当然如果公开已经在根路径 –
@vee当我这样说时。对不起(上传失败)0 我试过已经jacky – Jeff99