Php 上载文件,但目录不存在';不存在
我是一个新手程序员,正在努力自学PHP。我正在尝试上传一个文件,但我遇到了一些问题。文件似乎已成功上载,但其临时位置是服务器上不存在的位置 下面是我用来上传文件的代码:Php 上载文件,但目录不存在';不存在,php,upload,directory,temporary,Php,Upload,Directory,Temporary,我是一个新手程序员,正在努力自学PHP。我正在尝试上传一个文件,但我遇到了一些问题。文件似乎已成功上载,但其临时位置是服务器上不存在的位置 下面是我用来上传文件的代码: <?php if (isset($_POST['submit'])) { $imgfile = $_FILES['imgfile']['name']; $temp = $_FILES['imgfile']['tmp_name']; $type = $_FILES['imgfile']['type']; if
<?php
if (isset($_POST['submit']))
{
$imgfile = $_FILES['imgfile']['name'];
$temp = $_FILES['imgfile']['tmp_name'];
$type = $_FILES['imgfile']['type'];
if (!empty($imgfile))
{
$dbc = mysqli_connect('DB_HOST','DB_USER','DB_PASSWORD','DB_NAME')
or die('Error connecting to database');
$query = "INSERT INTO photos VALUES(0, '$imgfile',NOW(), '$temp', '$type')";
mysqli_query($dbc,$query);
//clear the form
$imgfile = "";
mysqli_close($dbc);
}
}
?>
<form enctype = "multipart/form-data" method = "POST" action = "<?php
echo $_SERVER['PHP_SELF']; ?>">
<label for = "imgfile">Filename:</label>
<input type = "file" id = "imgfile" name = "imgfile" />
<br />
<input type = "submit" value = "upload" name = "submit" id = "submit" />
</form>
您需要将其从临时存储移动到您的目录中
if (is_uploaded_file( $_FILES['imgfile']['tmp_name'] )) {
move_uploaded_file( $_FILES['imgfile']['tmp_name'], '/path/filename.jpg' );
}
您需要将它从临时存储移动到您的目录
if (is_uploaded_file( $_FILES['imgfile']['tmp_name'] )) {
move_uploaded_file( $_FILES['imgfile']['tmp_name'], '/path/filename.jpg' );
}
您必须保存图像,以便以后能够访问它。为此,请添加以下代码:
$path = "uploads/images/";
if (is_uploaded_file($_FILES['imgfile']['tmp_name'])) {
move_uploaded_file($_FILES["imgfile"]["tmp_name"], $path . $_FILES["imgfile"]["name"]);
}
在以下几行之后:
if (!empty($imgfile))
{
请注意,$path
必须是可写的。现在文件名变成了$path.$\u FILES[“imgfile”][“name”]
。还要确保执行一些安全检查,您的代码是可访问的。您必须保存映像,以便以后能够访问它。为此,请添加以下代码:
$path = "uploads/images/";
if (is_uploaded_file($_FILES['imgfile']['tmp_name'])) {
move_uploaded_file($_FILES["imgfile"]["tmp_name"], $path . $_FILES["imgfile"]["name"]);
}
在以下几行之后:
if (!empty($imgfile))
{
请注意,$path
必须是可写的。现在文件名变成了$path.$\u FILES[“imgfile”][“name”]
。另外,请确保执行一些安全检查,您的代码是可访问的。尝试使用此方法控制文件的存储位置。
尝试使用此方法控制文件的存储位置。
它不是一个文件夹,它是一个文件名,它是由php随机分配的。那么/phpblahblah是我上传文件的文件名吗?上传后我还能在临时文件夹中看到这些文件吗?是的,但它们是非常临时的。它不是一个文件夹,而是一个文件名,是php随机分配的。所以/phpblahblah是我上传文件的文件名?上传后我还能在临时文件夹中看到这些文件吗?是的,但它们是非常临时的。嘿,谢谢你的快速回复!我有三个后续问题要问你。1) 上传后,我是否可以在默认的临时文件夹中看到图片?2)一旦我做了移动,我应该能够看到我移动到右侧的文件夹中的图片?然后3)当我设置要将图片移动到的文件夹的路径时,我只需要从php文件所在的目录开始设置它,对吗?所以,我的php文件当前位于一个名为html的文件夹中,我希望将其移动到图像中,所以我只使用$path=“/Images”;。。是这样吗?谢谢1) 第2)是的;3) 如果您的php文件位于/www/html下,并且path=“images/”(开头没有斜杠),那么您的图像将位于/www/html/imagesey下,感谢您的快速响应!我有三个后续问题要问你。1) 上传后,我是否可以在默认的临时文件夹中看到图片?2)一旦我做了移动,我应该能够看到我移动到右侧的文件夹中的图片?然后3)当我设置要将图片移动到的文件夹的路径时,我只需要从php文件所在的目录开始设置它,对吗?所以,我的php文件当前位于一个名为html的文件夹中,我希望将其移动到图像中,所以我只使用$path=“/Images”;。。是这样吗?谢谢1) 第2)是的;3) 如果您的php文件位于/www/html下,并且路径=“images/”(开头没有斜杠),那么您的图像将位于/www/html/images下