Как правильно сгенерировать серию HTML страниц на основе CSV данных?

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

$image_number
$image_name
$title
$description
$image_source
$keywords
$url
$page_name

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

Это необходимо для индексации в Google Images, но связываться с MySQL пока нет смысла для обработки запросов.

CSV каталог: https://drive.google.com/file/d/1F_zWVaFDtjp82NDMZdvhWHyB1GYq4BmG/view?usp=sharing

Примерный код* PHP для обработки CSV и выгрузки шаблонных страниц: (*как понял - так и написал, вероятно есть ошибки).

<?php
    function CSVtoHTML {
        $row = 1;
if (($handle = fopen("catalog.csv", "r")) !== FALSE) {
  while (($data = fgetcsv($handle, 30, ",")) !== FALSE) {
    for each ($row[i]= fgetcsv($handle, 30, ",") {
                $column[1] = $image_number;
                $column[2] = $image_name;
                $column[3] = $title;
                $column[4] = $description;
                $column[5] = $image_source;
                $column[6] = $url;
                $column[7] = $page_name;
                $content = '<!doctype html>
                <html lang="en">
                    <head>
                        <meta charset="UTF-8">
                        <title>'.$title.'</title>
                        <meta description="'.$description.'"/>
                    </head>
                    <body>
                        <div class="content">
                            <h1>'.$h1.'</h1>
                            <img src="'.$image_source.'" alt="">
                            <h2>'.$image_name.'</h2>
                            <p>Keywords: '.$keywords.'</p>
                            <p><a href="/register?value='.$image_number.'">Buy now</a></p>
                        </div>
                    </body>
                </html>';
/* Как записать данные в HTML с кодировкой UTF-8 в папку на сервере с заданным названием? */
                        $data = file_get_contents($content);
                        $data = mb_convert_encoding($data, 'UTF-8');
                        file_put_contents('graphics/'.$page_name.'.html', $data);
                   }    
                   fclose($handle);
               }
               return $data;
               echo "Catalog generated now"
            }
            else {
                echo "Catalog in CSV is empty or broken."
            }
        }
?>

То есть фактически каждая строка в CSV при обработке в PHP > выдает в каталог graphics > HTML или PHP страницы по заданному единому шаблону, т.е. каждую отдельную физическую страницу (имя $page_name по указанному адресу на сервере) с данными из файла CSV данной строки значения каждой переменной: $title, $description, $h1, $image_source, $keywords, $image (номер), $url = ...

Это необходимо для индексации в Google Images, но связываться с MySQL пока нет смысла для обработки запросов.


Ответы (0 шт):