2017-10-09 128 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

此代码应工作,并显示所有数据进行调试。