我是一個盡力自學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
。所以這一部分是正確的,但那裏有一個奇怪的/phpgarbage
文件夾,據說在tmp
文件夾內,每個文件都說它在。唯一的問題是,這些文件夾不存在於服務器上。
有什麼想法?讓我知道是否有任何我可以更具體的。這是我第一次編程相關的帖子,所以讓我知道是否有更多的信息我應該分享。
謝謝你的時間!
它不是一個文件夾其文件名,它的隨機分配由php。 – 2012-01-18 18:29:49
所以/ phpblahblah是我上傳文件的文件名?上傳後,我還應該能夠在臨時文件夾中看到這些文件嗎? – seanmichael 2012-01-18 19:35:35
是的,但它們非常短暫。 – 2012-01-18 22:36:01