Как распечатать HTML-код серии из CSV, используя фильтр по похожим данным?

#php #html #csv

#php #HTML #csv

Вопрос:

У меня есть файл CSV. Источник = https://bundlespace.com/graphics/example.csv

Данные в CSV (пример):

 Image Source,Category Name,Category HTML,Comma Keywords
/data/catalog/premium-graphics/abstract-flowers/watermark/abstract-flower-bud.png,abstract flowers,abstract-flowers.html,"abstract, flower, bud"
/data/catalog/premium-graphics/abstract-flowers/watermark/flower-bud-natural-plant.png,abstract flowers,abstract-flowers.html,"flower, bud, natural, plant"
  

Для каждой категории изображений мне нужно опубликовать серию HTML-страниц, в которую входят изображения для этой категории. У меня был скрипт для преобразования CSV в HTML и некоторые детали для вывода отфильтрованных данных (изображения в списке). Но для правильной интерпретации на сервере требуется редактирование.

     <?php
function CSVtoHTML() {
    $row = 0;
    $header = [];
    if (($handle = fopen("fullimagebase.csv", "r")) !== FALSE) {
        while (($data = fgetcsv($handle, 2565, ",")) !== FALSE) {

            // first line is header, grab it then continue
            if ( $row === 0) {
                $header = $data;
                $row  ;
                continue;
            }
            
            $data = array_combine($header, $data);
            $category = $data['Category Name'];
            
            if (strpos($category == $category  ) !== FALSE) {
                $item = '<li><img src="'.Image Source.'" width="200" height="200"></li>';
                echo htmlentities($item);
                echo $item;
                $rows  ;
                $items = $item  ;
            }           
            return $items;
            
            $content = '<!doctype html>
            <html lang="en">
                <head>
                    <meta charset="UTF-8">
                    <title>Images in category '.$data['Category Name'].'</title>
                </head>
                <body>
                    <h1 id="graphics">Images in category '.$data['Category Name'].'</h1>                                    
                    <ul>                        
                        '.$items.'
                    </ul>
                </body>
                <footer>FOOTER</footer>
                </html>';

            // make the file
            $filedata = file_get_contents($content);
            $filedata = mb_convert_encoding($content, 'UTF-8');
            file_put_contents(''.$data['Category HTML'], $filedata);

            $row  ;
        }
        fclose($handle);
    }
}
CSVtoHTML();
?>
  

В результате ОШИБКА HTTP 500> где ошибка в коде PHP?

Комментарии:

1. <?php внутренний <?php тег.

2. @u_mulder как вставить $items в $content=»<теги> … $items …

3. Вы знаете, что return делает? Почему вы используете return в середине кода функции?

4. @u_mulder Я пытаюсь вернуть выбранные if (strpos($category == $category ) !== FALSE) данные для использования в листинге <ul> .

5. @LawrenceCherone Привет! Ваше мнение?