Как сгенерировать серию HTML страниц по одному шаблону из CSV файла?

F2
На сайте с 28.08.2020
Offline
7
115
Первоначально есть каталог изображений в CSV файле и шаблон вывода данных. 

Источник: https://drive.google.com/file/d/1F_zWVaFDtjp82NDMZdvhWHyB1GYq4BmG/view?usp=sharing

В результате необходимо сгенерировать отдельные HTML  (или PHP ) страницы с выводом данных (в TITLE, DESCRIPTION, H1, IMG, Text, A HREF="URL").

Переменные данных по столбцам в CSV для выгрузки в HTML:
$Image Number
$Image Name
$Title
$Description
$Image Source
$Keywords
$URL
$Page Name

То есть фактически каждая строка в CSV при обработке в PHP > выдает в каталог gallery > HTML (или PHP) страницы по заданному единому шаблону,
т.е. каждую отдельную физическую страницу с данными из файла CSV данной строки значения каждой переменной
$title, $description, $h1, $image_source, $keywords, $image (номер), $url = <a href="/register?value=$image">..</a>.

Это необходимо для индексации в Google Images, но связывать с MySQL пока нет смысла для обработки запросов.
M
На сайте с 04.12.2013
Offline
223
#1

Все равно можно загрузить в подготовленную таблицу мускула, чтобы выводить каким-нибудь шаблонизатором, а потом выгрузить, например, wget'ом.

P.S. Можно сделать индексную / и сами страницы /page.html, чтобы выгружать с одного уровня (параметр -np, если не ошибаюсь), либо просто по типу/расширению .html, чтобы даже индексную не выгружать и не дергать всякие /register.php?value=

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
M
На сайте с 04.12.2013
Offline
223
#2

В качестве шаблонизатора можно использовать G-Drive. Код для индексной помогу написать. Там нефиг делать:

- контроллер:

<?php

if
(!($result=mysqli_query($link,"SELECT * FROM `{$table()}` WHERE `id`!=''")))
{
    error(503);
}
- шаблон:
<?php require PATH.'include/getrow.php'; ?>
<ol>
<?php while ($row=getrow()): ?>
    <li><a href="/<?= $row['id'] ?>"><?= $row['Title'] ?></a></li>
<?php endwhile; ?>
</ol>

Столбец Page Name нужно будет переименовать в id.

M
На сайте с 04.12.2013
Offline
223
#3

Там нужен не параметр -np, а параметр -l1, чтобы «ходить» только по ссылкам индексной. Работает:

wget -r -l1 -omy.log http://localhost/


P.S. А -np – это чтобы не «ходить» на верхние (родительские) уровни, например с /pages/... в /...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий