Разбор CSV-текста для создания загрузочных Div? - PullRequest
0 голосов
/ 04 марта 2019

Я создаю галерею изображений Bootstrap 3 с множеством повторяющихся div, которые выглядят так:

<figure class="col-1 picture-item" data-groups='["groupA"]' data-date-created="2018" data-title="imageA">
    <div class="picture-item__inner">
        <div class="aspect aspect--60x60">
          <div class="aspect__inner">
            <img class="myImg" src="imageA.gif" alt="description of image A"/>
		    </div>
        </div>
        <div class="picture-item__details">
          <div class="picture-item__tags" style="display: none;">image A keywords</div>
          <p class="picture-item__title">Image A</p>
        </div>
    </div>
</figure>
	  
<figure class="col-1 picture-item" data-groups='["groupB"]' data-date-created="2019" data-title="imageB">
    <div class="picture-item__inner">
        <div class="aspect aspect--60x60">
          <div class="aspect__inner">
            <img class="myImg" src="imageB.gif" alt="description of image B"/>
          </div>
        </div>
        <div class="picture-item__details">
          <div class="picture-item__tags" style="display: none;">image B keywords</div>
          <p class="picture-item__title">Image B</p>
        </div>
    </div>
</figure>

Я надеюсь сэкономить время и кодирование, извлекая данные из CSV-файла для создания нескольких div.В постоянно расширяющуюся галерею уже входит более сотни изображений.Данные CSV для вышеупомянутого выглядят так:

Image A,imageA,groupA,2018,description of image A,image A keywords
Image B,imageB,groupB,2018,description of image B,image B keywords

^ и так далее ...

Я надеюсь на некоторую помощь или совет относительно лучшего способа достижения сценария, при котором мне просто нужнозагрузите изображения с правильным соглашением об именах и обновите электронную таблицу.У меня ограниченные знания, но я думаю, что PHP может быть способом сделать это?

Надеюсь, этот вопрос имеет смысл.Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 09 марта 2019

Мне удалось заставить это работать с:

<?php
$fileHandle = fopen("gallery-data.csv", "r");
while (($row = fgetcsv($fileHandle, 0, ",")) !== FALSE) {	
?>
	    <figure class="col-1 picture-item" data-groups='["<?php echo $row[3] ?>", "<?php echo $row[5] ?>"]' data-date-created="<?php echo $row[2] ?>" data-title="<?php echo $row[4] ?>">
      <div class="picture-item__inner">
        <div class="aspect aspect--60x60">
          <div class="aspect__inner">
            <img class="myImg" src="gallery/<?php echo $row[4] . '/' . $row[0] . '.gif" alt="' . $row[6] ?>"/>
		    </div>
        </div>
        <div class="picture-item__details">
          <div class="picture-item__tags" style="display: none;"><?php echo $row[7] ?></div>
          <p class="picture-item__title"><?php echo $row[0] ?></p>
        </div>
      </div>
    </figure>
<?php
}

 fclose($file);
?>
0 голосов
/ 04 марта 2019

В PHP есть две функции для синтаксического анализа csv:

fgetcsv (файл, длина, разделитель, вложение) И str_getcsv (строка, разделитель, вложение, escape)

Пример fgetcsv:

 $file = fopen("contacts.csv","r");

 while(! feof($file))
 {
   print_r(fgetcsv($file));
 }

 fclose($file);

http://php.net/manual/en/function.fgetcsv.php

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