php как отслеживать (в базе данных) имена файлов тегов изображений, включенных в вывод html из редактора ckeditor wysiwyg - PullRequest
1 голос
/ 27 апреля 2011

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

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

Клиент стремится в некоторых областях контента сайта иметь возможность свободно вводить форматированный текст и изображения - в стиле блога. Для этих задач я выбрал ckeditor и ckfinder.

Для всех других частей сайта у меня нет проблем с тем, чтобы представить, как эти данные будут загружаться / вводиться и храниться в базе данных и использоваться для каждого экземпляра шаблона и т. Д. Моя трудность заключается в том, чтобы понять, как я буду - в PHP - извлекать имена файлов изображений из содержимого поля wysiwyg при публикации данных.

Буду ли я использовать regex () в $ _POST ['wysiwygText'] и искать в html, выведенном редактором wysiwyg, любой .jpg / .png / .gif и т. Д., Если так, какой аргумент функции / поиска я буду использовать?

Я только пытаюсь сделать это, так как остальные имена изображений сайта будут храниться в БД, где правила домена более понятны, например, каждое меню будет иметь 1,2 или 2 изображения установленного размера в заголовке. - и текст всегда форматируется одинаково ... - теоретически, это хорошая практика для хранения записи изображений, используемых на каждой странице для сайта? Я просто подумал, что со временем будет проще, поскольку клиент добавляет и вынимает изображения, чтобы автоматически удалять изображения, когда они не используются и т. Д.

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

Большое спасибо за любой вклад / помощь / предложения

1 Ответ

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

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

http://php.net/manual/en/reserved.variables.files.php

Пример использования. Примечание: здесь нет проверки ошибок, таких как максимальный размер файла, тип файла и т. Д. И т. Д. Это всего лишь пример, чтобы указать правильный путь.

if ($_FILES)
{
$uploadDir = 'images/';

$filename = $uploadDir . $_FILES['filename']['name'];
move_uploaded_file($_FILES['filename']['tmp_name'], $filename);
}

else echo "No image uploaded"
...