Загруженный файл PHP не сохраняется, и ошибка не отображается

0

Я не знаю, правильно ли мой код, но все указывает на успех при отправке.

Моя форма

<form action="upload.php" method="POST" enctype="multipart/form-data">
        File: <input type="file" name="file" />
    <input type="submit" name="submit" value="Go" />
</form>

Мой файл загрузки

<?php 

if($_FILES['file']['name'])
{
    if(!$_FILES['file']['error'])
    {
        $valid_file = true;

        if($_FILES['file']['size'] > (1024000)) //can't be larger than 1 MB
        {
            $valid_file = false;
            $message = 'Oops!  Your file\ size is to large.';
        }

        if($valid_file)
        {
            /
            if(move_uploaded_file($_FILES['file']['tmp_name'],'/files')){
                echo "Sent";
            }else{
                echo "~Error~";
            }

        }
    }
    //if there is an error...
    else
    {       
        $message = 'Ooops!  Your upload triggered the following error:  '.$_FILES['file']['error'];
    }
}

?>

Сообщение, которое я получаю, это "Отправлено", но когда я иду проверять, файлы папок пусты: s

Моя структура папок:

/files - Here is directory where the files will come
index.php - My form
upload.php - My Logic 
  • 0
    проверьте разрешение на запись в каталог файлов, это может быть проблемой, но должно выдать ошибку.
  • 0
    Расширение отсутствует .., а также изменить разрешение папки
Показать ещё 2 комментария
Теги:
file-upload

2 ответа

3
Лучший ответ

Одна из проблем, которые я вижу в вашем коде, заключается в том, что вы не указываете имя для вашего "перемещенного" файла:

Эта строка:

move_uploaded_file($_FILES['file']['tmp_name'],'/files')

Должно быть изменено на:

move_uploaded_file($_FILES['file']['tmp_name'],'/files/'.'sampleName'.$extension);// extension is the extension of the file.

Я по-прежнему предполагаю, что ваш путь "/files" верен и не имеет разрешения.

  • 0
    хм .. этот способ "move_uploaded_file ($ _ FILES ['file'] ['tmp_name'], '/ files'. $ _ FILES ['file'] ['tmp_name']. $ ext)" является правильным?
  • 0
    $ ext это расширение, которое я получаю
Показать ещё 9 комментариев
1

Такая же проблема возникает, если ваша целевая папка не имеет разрешения на запись.

Используйте эту команду, чтобы изменить это:

chmod 775 [folder-name]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню