Вставка происходит, но загрузка не - PullRequest
0 голосов
/ 03 ноября 2010
function Save($name)
    {
        $target_path = "uploads/";
        $target_path = $target_path . basename( $_FILES['file']['name']); 
        if(move_uploaded_file($_FILES['file']['name'], $target_path)) 
        {
            echo "The file ".  basename( $_FILES['file']['name']). 
                 " has been uploaded";
        } 
        else
        {
            echo "There was an error uploading the file, please try again!";
        }

        //save
        $link = mysql_connect('localhost', 'root', 'root');
        if (!$link) {
            die('Could not connect: ' . mysql_error());
        }
        @mysql_select_db('test') or die( "Unable to select database");
        $query = "INSERT INTO test (name)" .
                 "VALUES ('" . $name . "')";
        mysql_query($query);
        mysql_close();
    }

Итак, вставка происходит, но я не могу увидеть файл .txt, который загружаю в каталог uploads /Но его вставили в файл БД.Полное имя файла.

Почему?

Ответы [ 4 ]

0 голосов
/ 03 ноября 2010

Вы установили enctype своей формы?

<form method="post" enctype="multipart/form-data" ...

Это было частым уловкой для меня много лет назад:)

0 голосов
/ 03 ноября 2010

Ваша загрузка, по-видимому, не удалась, но, как написана ваша функция, вставка базы данных происходит и происходит в любом случае. Для начала вы можете захотеть переместить эту функциональность //save в оператор if (где отображается сообщение об успешном завершении). Тогда, по крайней мере, вы не получите запись БД без загрузки.

Что касается того, почему загрузка файла не удалась, хорошее место, чтобы начать расследование: наличие и настройки разрешений для этой папки.

0 голосов
/ 03 ноября 2010

Попробуйте это:

ls -al
chmod 0777 /uploads
0 голосов
/ 03 ноября 2010

Я сомневаюсь, что это из-за проблем с правами доступа. Проверьте, достаточно ли у вас прав для записи в каталог, в который вы загружаете файл. Дайте доступ «Запись» к этому каталогу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...