我是php的初学者,需要帮助。
我正在处理一张简单的相册,并试图将照片上传到我从该选项中选择的相册文件夹,但是收到的错误是"没有这样的文件或目录"并且"无法移动"。
我尝试更改" $ album_name"参与" $ row [' name']"或" $ album_id",但没有一个有效。但是,设置固定网址是有效的(例如'上传/ bla /'。$ random_name。' .jpg')。
如何在路径中包含我选择的相册名称?当前上传的文件存储在文件夹之外(在"上传"文件夹中)。
<form enctype='multipart/form-data' method='post'>
Select album: <br/>
<select name='album'>
<?php
$query = mysqli_query($dbc, "SELECT id, name FROM albums ORDER BY id DESC");
while($row = mysqli_fetch_array($query)) {
$album_id = $row['id'];
$album_name = $row['name'];
echo "<option value=".$album_id.">".$album_name."</option>";
}
?>
</select><br/><br/>
<?php
if(isset($_POST['upload'])) {
$album_id = $_POST['album'];
$file = $_FILES['file']['name'];
$file_tmp = $_FILES['file']['tmp_name'];
$random_name = rand();
if(empty($file)) {
echo "Please choose a file to upload.<br/> <br/>";
} else {
move_uploaded_file($file_tmp, 'uploads/'.**$album_name**.'/'.$random_name.'.jpg');
mysqli_query ($dbc, "INSERT INTO pictures VALUES('', '$album_id', '$random_name.jpg')");
echo "Photo uploaded!!!<br/> <br/> ";
}
}
?>
Select photo: <br/>
<input type='file' name='file' /><br/><br/>
<input type='submit' name='upload' value='Upload' />
</form>
答案 0 :(得分:0)
当你遇到这样的错误时,有很多事情需要考虑。
find / -name php.ini
。默认情况下,最大文件大小为2MB。您还应尝试通过$_FILE["file"]["error"]
处理错误,以查看更详细的错误。错误列表可在官方PHP文档中找到:http://php.net/manual/en/features.file-upload.errors.php