Определить папку с помощью PHP - PullRequest
1 голос
/ 04 апреля 2011

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

Проблема в том, что система комментариев, созданная с помощью mysql, сохраняет комментарий следующим образом:

ID | Папка | Изображение

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

Можно ли идентифицировать папку, не используя ее имя?

// Примечание:

Спасибо за вашу помощь, я думаю, что нашел решение. Теперь я просто сохраняю хэш md5 изображения и сохраняю его в базе данных, а не в папке.

Ответы [ 4 ]

1 голос
/ 04 апреля 2011

Нет. Вам необходимо синхронизировать файловую систему с базой данных. Всякий раз, когда вы переименовываете / удаляете / редактируете папку, обновляйте ее запись в базе данных mysql.

1 голос
/ 04 апреля 2011

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

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

1 голос
/ 04 апреля 2011

Полагаю, лучше использовать другую таблицу, в которой вы сохраните идентификаторы папок и их имена folder_id |имя_папки Нечто подобное.Использование имен папок не является хорошей практикой

0 голосов
/ 04 апреля 2011

Вы всегда можете сделать это следующим образом:

Создать 3 таблицы:

  • галереи -> со столбцами (id, title)
  • files -> с колонками (id, галерея, имя, имя файла)
  • comments -> с колонками (id, file_id, comment)

Затем вы создадите все свои галереи симя в таблице "галереи".Когда вы создали галерею, вы бы поместили все изображения, которые вы хотите отобразить в папку, например, загружает /.Затем вы должны вставить имя файла (возможно, также сгенерировать случайные имена файлов) в базу данных вместе с его настоящим именем.Например, «Дельфины на пляже» могут указывать на dolphins1234142.png, который находится в папке загрузки.Все ваши комментарии будут в таблице комментариев, где вы сможете установить связь с таблицей файлов.Это позволит вам иметь комментарии к определенному изображению.

Просто мой взгляд на систему галерей, надеюсь, это имеет смысл.

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