Используйте PHP и MySQL для добавления изображений в галерею

Я пытаюсь создать back-end для моей фотогалереи, чтобы мне было легче загружать изображения в галерею.

Галерея состоит из миниатюрного изображения, описания одной строки и миниатюры подключается к причудливому боксу. Довольно простой. (Изображение эскиза и причудливого окна используют одно и то же изображение.)

Я только начинаю изучать основы PHP и MySQL и хотел бы знать, как я могу использовать этот код: (FYI это только часть галереи.)

<li data-id="id-12" data-type="treeremoval"> <div class="column grid_3"> <a class="fancybox" rel="treeremoval" href="images/gallery/1.jpg" title="Tree Removal Lake of the Ozarks"> <img src="images/gallery/1.jpg" alt="Tree Removal Lake of the Ozarks" class="max-img-border"></a> <h5>Lake of the Ozarks Tree Removal </h5> </div> </li> <li data-id="id-11" data-type="treetrimming"> <div class="column grid_3"> <a class="fancybox" rel="treetrimming" href="images/gallery/2.jpg" title="Osage Beach Tree Trimming"> <img src="images/gallery/2.jpg" alt="Osage Beach Tree Trimming" class="max-img-border"></a> <h5>Lake of the Ozarks Tree Trimming</h5> </div> </li> 

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

В основном, я хочу создать форму, где я могу установить параметры и загрузить изображения (ы) на страницу галереи.

Используя приведенный выше код, как я могу добавить больше изображений в список?

Я предполагаю, что я спрашиваю, как настроить базу данных и таблицу и добавить соответствующий синтаксис php в html, чтобы получить результаты, которые я ищу?

Я понимаю, как создать форму для загрузки изображений в каталог ftp. Я просто потерял настройку базы данных и таблиц, чтобы получить изображения и текст и поместить их в галерею

Я бы установил базу данных так? (FYI, я понятия не имею, что я делаю в этой точке.)

Название базы данных: maingallery

Таблица: идентификатор данных: id по возрастанию

(Идентификатор данных и тип данных очень важны, поскольку галерея подключена к системе фильтрации. Мне бы хотелось, чтобы идентификатор данных был автоматически сгенерирован и добавлял новейшее изображение в верхнюю часть галереи.)

тип данных: treetrimming

тип данных: treeremoval

rel: gallery1

rel: gallery2

изображение: … ???

название: Дерево Удаление Озеро Озаркс

название: Osage Beach Tree Trimming

Затем для тега h5

Заголовок: Озеро Озарского дерева

Подпись: Озеро Озракса

Для изображений я использую класс max-img-border, потому что сайт реагирует, и у меня есть все изображения размером до 720px x 482px

Css выглядит так:

 .max-img-border { width:100%; height:auto; border:solid 2px #FFFFFF; margin-bottom:10px; } 

Используя этот метод, я настроил его, поэтому мне нужно иметь дело только с одним изображением для эскиза и изображения fancybox.

Я надеюсь, что то, что я прошу, имеет смысл.

Я знаю, о чем я прошу, вероятно, много объяснять, но любая помощь будет очень признательна. Даже некоторые ссылки на хороший учебник могут помочь. Я искал Google в течение дня или двух, но не могу найти именно то, что я ищу.

Также, если вы посмотрите на галерею и перетасовываете по категориям, есть большой прыжок в процессе перехода. В настоящее время я работаю над исправлением этого.

Если вам нужна дополнительная информация от меня, пожалуйста, дайте мне знать, и я буду более чем готов ее предоставить.

Спасибо!

    Вам понадобится таблица MySQL, содержащая информацию об изображении, и имя файла изображения:

     CREATE TABLE images ( id int(3) not null auto_increment, data_type varchar(128) not null, title varchar(256) not null, file_name varchar(64) not null, primary key(id) ) 

    И вам нужно будет сделать форму загрузки изображения, что-то вроде этого:

     <form enctype="multipart/form-data" action="uploader.php" method="POST"> Data type: <input type="text" name="dataType"><br> Title: <input type="text" name="title"><br> Image to upload: <input type="file" name="image"><br> <input type="submit" value="Upload"> </form> 

    И PHP-скрипт для обработки загруженных файлов и добавления записей в базу данных:

    uploader.php

     <?php $dataType = mysql_real_escape_string($_POST["dataType"]); $title = mysql_real_escape_string($_POST["title"]); $fileName = basename($_FILES["image"]["name"]); $target_path = "images/gallery/".$fileName); if (file_exists($target_path)) { echo "An image with that file name already exists."; } elseif (move_uploaded_file($_FILES["image"]["tmp_name"], $target_path)) { // The file is in the images/gallery folder. Insert record into database by // executing the following query: // INSERT INTO images // (data_type, title, file_name) VALUES('$dataType','$title','$fileName') echo "The image was successfully uploaded and added to the gallery :)"; } else { echo "There was an error uploading the file, please try again!"; } ?> 

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

     $allowed_extensions = array("jpg","jpeg","png","gif"); $extension = pathinfo($fileName, PATHINFO_EXTENSION); if (!in_array($extension,$allowed_extensions)) { die("Only these file types are allowed: jpg, png, gif"); } 

    Теперь на странице галереи вы захотите просмотреть изображения в базе данных.

     <?php $images = mysql_query("SELECT * FROM images"); while ($image=mysql_fetch_assoc($images)) { ?> <li data-id="id-<?=$image["id"] ?>" data-type="<?=$image["data_type"] ?>"> <div class="column grid_3"> <a class="fancybox" rel="<?=$image["data_type"] ?>" href="images/gallery/<?=$image["file_name"] ?>" title="<?=$image["title"] ?>"> <img src="images/gallery/<?=$image["file_name"] ?>" alt="<?=$image["title"] ?>" class="max-img-border"></a> <h5><?=$image["title"] ?></h5> </div> </li> <?php } ?> 

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