【发布时间】:2012-01-18 18:25:21
【问题描述】:
我是一名新手程序员,正在努力自学 PHP。我正在尝试上传文件,但遇到了一些问题。该文件似乎已成功上传,但它的临时位置是服务器上不存在的位置。
这是我用来上传文件的代码:
<?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>
这些是$_FILES['tmp_name'] 变量表示它正在存储的位置的一些示例:
/tmp/phpWw6aut
或
/tmp/php4bzVfE
php.ini 文件中设置的默认临时目录为root/tmp。所以这部分是正确的,但是据说在tmp 文件夹中存在一个奇怪的/phpgarbage 文件夹,每个文件都说它在其中。唯一的问题是,这些文件夹在服务器上不存在。
有什么想法吗?如果有什么我可以更具体的,请告诉我。这是我第一次与编程相关的帖子,所以如果我应该分享更多信息,请告诉我。
感谢您的宝贵时间!
【问题讨论】:
-
不是文件夹而是文件名,是php随机分配的。
-
所以 /phpblahblah 是我上传文件的文件名?上传后我还能在临时文件夹中看到这些文件吗?
-
是的,但它们是非常临时的。
标签: php upload directory temporary