Загрузите файл HTML и автоматически загрузите сопутствующие ресурсы - PullRequest
0 голосов
/ 26 октября 2011

Сценарий

Компания, в которой я работаю, недавно взорвалась (я начал работать только через пару лет после ее создания), и теперь у нас есть второй разработчик и еще около 5 дизайнеров.

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

Я разработал свою собственную систему шаблонов для этого, которая просто заменила токены в шаблоне, таком как {300x250}, на баннер, выбранный из каталога, указанного в строке, которая представляет это задание, имеющее соответствующий размер.

Процесс настройки одного из них был:

  1. Подключитесь к FTP и загрузите файлы (swfs) в заданный каталог.
  2. Войдите в phpMyAdmin и создайте запись в таблице, которая будет содержать информацию о пути к файлам, имени клиента и используемом шаблоне.
  3. При необходимости создайте новый шаблон, т. Е. Если есть необычный ассортимент баннеров.

Как вы можете видеть, вышесказанное почти невозможно для кого-либо без моего набора навыков (т.е. дизайнеров).

Моя идея

Я хочу создать шаблон, который будет размещен на нашем промежуточном домене, и сопутствующую индексную страницу, которая будет искать значение через $_GET, которое будет представлять путь к файлу HTML. Например:

http://example.com/?view=bing_lee_october.html

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

  1. Отображение поля загрузки файла, которое принимает файл HTML.
  2. Когда выбран HTML-файл, документ должен быть отсканирован, чтобы создать список всех SWF-файлов, которые были встроены на страницу - это, скорее всего, будет сделано через Insert -> Media -> SWF с использованием интерфейса Dreamweaver (с помощью дизайнеры).
  3. На основании этого списка система должна автоматически захватить каждый из SWF-файлов и загрузить их вместе с HTML-файлом. Я доволен тем, что все находится в одном каталоге для простоты.
  4. Переименуйте SWF во что бы то ни было + уникальный идентификатор, чтобы избежать переопределения.
  5. Замените ссылки на SWF-файлы в HTML, чтобы они соответствовали переименованным файлам.
  6. Создайте ссылку на недавно созданную презентацию - возможно, она будет сделана уникальной с помощью PHP uniqid(), чтобы избежать путаницы и т. Д.

В результате должна получиться такая ссылка:

http://example.com/?view=4h78hg5d

Ссылка на SWF-файлы выглядит так:

  • BLD020_November_300x250-4h78hg5d.swf
  • BLD020_November_728x90-4h78hg5d.swf
  • BLD020_November_160x600-4h78hg5d.swf

С моим ранее созданным шаблоном, упаковывающим HTML, который они загрузили.

Мой вопрос

Можно ли автоматически добавлять сопутствующие SWF-файлы в очередь загрузки или это разрешено только вручную?

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

Ответы [ 2 ]

2 голосов
/ 26 октября 2011

Может ли ваше приложение принять zip-архив как загрузку, а затем извлечь все необходимые ему файлы таким образом?

Вот пример из http://php.net/zip.examples#example-819, который открывает zip-архив, выводит метаданные оархив и список всех файлов:

<?php
$za = new ZipArchive();

$za->open('test_with_comment.zip');
print_r($za);
var_dump($za);
echo "numFiles: " . $za->numFiles . "\n";
echo "status: " . $za->status  . "\n";
echo "statusSys: " . $za->statusSys . "\n";
echo "filename: " . $za->filename . "\n";
echo "comment: " . $za->comment . "\n";

for ($i=0; $i<$za->numFiles;$i++) {
    echo "index: $i\n";
    print_r($za->statIndex($i));
}
echo "numFile:" . $za->numFiles . "\n";
?>
1 голос
/ 26 октября 2011

На ваш вопрос очень простой ответ: Нет. Вы можете загружать только то, что пользователь явно отправляет вам.

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

Затем укажите URL-адрес, и вы используете curl для загрузки всего.

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