Я начинающий программист, делающий все возможное, чтобы самостоятельно изучать 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
, в которой каждый файл говорит, что она находится.
Есть мысли? Дайте мне знать, если есть что-то, о чем я могу быть более конкретным. Это первый пост, связанный с программированием, поэтому дайте мне знать, если я хочу поделиться какой-либо информацией.
Спасибо за ваше время!