@xormakor

Как передать путь к файлу в базу данных?

На сайте в админ панели есть возможность добавления мероприятия, куда нужно подгружать фотку, у меня есть код, который загружает фото в нужную папку, но мне нужно передать путь к ней в БД, чтобы все работало

Процесс загрузки фото сделан у меня вот так:

<label for="photo">
            Фото концерта
            <?php
            if ($_FILES && $_FILES["filename"]["error"]== UPLOAD_ERR_OK)
            {
                $name = "images_page_2/" . $_FILES["filename"]["name"];
                move_uploaded_file($_FILES["filename"]["tmp_name"], $name);
                echo "Файл загружен";
            }
            ?>
            <h2>Загрузка файла</h2>
            <form method="post" enctype="multipart/form-data">
            Выберите файл: <input type="file" name="filename" size="10" /><br /><br />
            <input type="submit" value="Загрузить" />
            </form>
        </label>


Во втором файле я передаю фото в папку images_photo_2, а после путь в БД вот так:

$uploadname=basename($_FILES['file']['name']);//записываем имя файла
        $uploadpath='images_photo_2/'.$uploadname; //указываем куда грузить файл
        if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadpath)) { //перемещение загруженного файла из временной папки сервера в папку, которую указали (uploadpath)
                $query="INSERT INTO `photo` (`photo`) VALUES ('$uploadname','$uploadpath')"; //составляем запрос на запись в базу имя и путь к файлу
                mysql_query($query); //делаем запрос
                echo 'Успешно'; 
            }
        else echo 'Ошибка загрузки';
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
Lastor
@Lastor
В чем сила, брат? В ньютонах.
1. Вам следует почитать о разнице между mysql и mysqli, использовать PDO и передавать данные в бд исключительно при помощи плейсхолдеров.
2. Вы должны проверить, что полученные данные действительно являются изображением, а не вредным кодом.
3. Загруженный файл может не открываться из-за отсутствия слеша в начале пути. Или иной опечатки в url файла.
Но, в свете предыдущих пунктов, это не основная проблема. Первые два значительно важнее.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы