Сайт Фотогалерея - PullRequest
       40

Сайт Фотогалерея

0 голосов
/ 25 июня 2011

Существует ли «стандартный» способ хранения фотографий в Интернете при работе с фотогалереями? Это плохая практика для хранения фотографий в базе данных MySQL? Стоит ли хранить фотографию в папке и хранить ссылку в базе данных?

Что такое "хорошая практика", когда речь идет о хранении фотографий для использования на веб-сайте?

Ответы [ 3 ]

1 голос
/ 25 июня 2011

Вы можете хранить фотографии в своей базе данных, используя разные типы данных BLOB. Если количество фотографий будет слишком большим или слишком большим, база данных может начать снижать производительность и резко увеличится в размерах. По сути, если у вас есть 100 фотографий по 10 МБ, размер базы данных составит 1000 МБ или около ГБ. Резервное копирование будет выполняться вечно, и если таблица, содержащая изображения, по какой-либо причине будет повреждена, это вызовет больше головной боли, чем вам придется иметь дело.

Мое предложение, как рекомендует imoda, - хранить их на жестком диске и ссылаться на них в базе данных, где вы будете хранить все метаданные и ссылку на местоположение файла. Рекомендуется сохранить имя файла фотографии в базе данных и переименовать файл, чтобы использовать значение первичного ключа в качестве имени файла. Например, строка 5 связана с фотографией "x", где x - имя файла, сохраните его на жестком диске. диск и переименуйте фотографию с именем файла 5, а затем, когда вы перейдете к нему для доступа к таким вещам, как загрузка, вы извлечете фактическое имя файла из строки 5 в базе данных и переименуйте его, прежде чем загрузить его. Это предотвратит случайную перезапись файла, если вам удастся загрузить два или более файлов с одинаковым именем.

1 голос
/ 16 февраля 2014

Я предлагаю использовать Flickr для добавления / удаления и изменения порядка изображений.Преимущество использования Flickr заключается в том, что вам не нужно писать какой-либо сложный код или размещать картинки.Вы можете использовать PHP и Flickr API для получения изображений, используя ваш профиль ID.1. Создайте приложение с помощью Flickr 2. Загрузите phpFlickr и поместите его в корневой каталог вашего сервера https://code.google.com/p/phpflickr/downloads/list добавьте этот код PHP в файл gallery.php

Вот код для галереи PHPс нумерацией страниц

<div class="portfolio-grid">



    <?php

        $key = "92d657c8dc79a29108d846a5fd121a29";  //your API key
        $nsid = "108400461@N02";            //your NSID

        // get page number from the url - if there isn't one - we're on page 1
        $page = isset($_GET['page']) ? $_GET['page'] : 1;

        // inclue the core file
        require_once('phpFlickr/phpFlickr.php');
        // Fire up the main phpFlickr class 
        $f = new phpFlickr($key);
        $f->enableCache("fs", "cache");

        $photos = $f->people_getPublicPhotos($nsid, NULL, NULL, 20, $page);
        $pages = $photos[photos][pages]; // returns total number of pages
        $total = $photos[photos][total]; // returns how many photos there are in total
    ?>


    <!--END script Flick photos -->
    <div>
        <?php
            echo '<div id="container">';
            // loop through each photo
             foreach ($photos['photos']['photo'] as $photo) {

            // print out a link to the photo page, attaching the id of the photo
                 echo '<div class="item" style="float:left;">
                        <a class="swipebox-isotope" href="' . $f->buildPhotoURL($photo, 'Large') . '" title="A.S.A.C - The African Student&apos;s Association of Concordia"><img class="gallery-img" src="' . $f->buildPhotoURL($photo, 'medium') . '" alt="' . $photo['title'] . '" title="' . $photo['title'] . '"/></a>
                      </div>';

            // end loop
            }
            echo '</div>';
        ?>

    </div>

      </div>
  <h2 id="nav">
    <?php
        // Some simple paging code to add Prev/Next to scroll through the thumbnails
        $back = $page - 1;
        $next = $page + 1;
        // if it's not the first page
        if($page > 1) {
        echo "<a href='?page=$back'>&laquo; <strong>Prev</strong></a>";
        }




        // if not last page
        if($page != $pages) {
        echo "<a style='float:right' href='?page=$next'><strong>Next</strong> &raquo;</a>";}
        // a quick bit of info about where we are in the gallery
        echo"<h3 style='text-align:center;'>Page $page of $pages <br/>$total photos</h3>";

    ?>
</h2>
1 голос
/ 25 июня 2011

99% времени вы не хотите хранить фотографию в базе данных MySQL.Это невероятно ресурсоемко, если сделано неправильно.Храните свои фотографии в каталогах на своем веб-сайте и сохраняйте путь к ним в своей базе данных.

...