Задать вопрос
@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 'Ошибка загрузки';
  • Вопрос задан
  • 242 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Lastor
@Lastor
В чем сила, брат? В ньютонах.
1. Вам следует почитать о разнице между mysql и mysqli, использовать PDO и передавать данные в бд исключительно при помощи плейсхолдеров.
2. Вы должны проверить, что полученные данные действительно являются изображением, а не вредным кодом.
3. Загруженный файл может не открываться из-за отсутствия слеша в начале пути. Или иной опечатки в url файла.
Но, в свете предыдущих пунктов, это не основная проблема. Первые два значительно важнее.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽