[英]move uploaded file in PHP
我想允许用户在我的网站上上传个人资料图片的图像(文件)。 他们通过HTML表单上传图像,但是我无法将文件移动到所需的文件夹中。 我不想弄乱php.ini文件来更改上传路径。 我想使用move_uploaded_file()。
这是我的HTML:
<form enctype="multipart/form-data" method="post" action="upload_img.php">
<input type="hidden" name="MAX_FILE_SIZE" value="32768"/>
<input type="text" name="name" value=""/>
<input type="file" name="picture" value="picture"/>
<input type="submit" name="submit" value="upload"/>
</form>
而我的PHP:
<?php
define('GW_UPLOADPATH', 'images/');
$picture= $_FILES['picture']['name'];
$name= $_POST['name'];
$tmp= $_FILES['picture']['tmp_name'];
var_dump($picture);
var_dump($name);
var_dump($tmp);
$connect= mysqli_connect(//connect params)
or die('error connecting with the database');
$query= "INSERT INTO pics (pic, name) VALUES ('$picture', '$name')";
$target= GW_UPLOADPATH . $picture ;
if (move_uploaded_file($_FILES['picture']['tmp_name'], $target);))
{
mysqli_query($connect, $query)
or die('error with query');
}
?>
我知道该文件已上传到tmp文件夹,因为我可以看到它,但它名为sess_96bsj29ub3tndnd2853d24k38adrbqoo.file那应该怎么办? 我究竟做错了什么?
$_FILES['picture']['tmp_name']
将指向该文件夹中的文件,当您调用此行时
move_uploaded_file($_FILES['picture']['tmp_name'], $target);
您可以将temp文件夹中的文件保存到所需的位置。 只需将$ target设置为有效的现有目录即可。
只需删除分号形式,如果语句如下:
if (move_uploaded_file($_FILES['picture']['tmp_name'], $target)))
{
mysqli_query($connect, $query)
or die('error with query');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.