【发布时间】:2015-08-16 00:23:02
【问题描述】:
我的 csv 文件具有两个字段图像名称和电子邮件,如下所示
img/img (1), a@gmail.com
我正在尝试在图像弹出窗口(灯箱)上显示此数据作为该图像的标题。我首先尝试应用以下图像组中的第一张图像。但它显示的输出类似于Array Array 而不是img/img (1) a@gmail.com。
<ul id="itemContainer">
<?php
$file_handle = fopen("imggallery.csv", "r");
while (!feof($file_handle)) {
$lines_of_text[] = fgetcsv($file_handle, 1024);
}
fclose($file_handle);
foreach ( $lines_of_text as $line_of_text): ?>
<li><a href="img/img (1).jpg" data-lightbox="imggallery" data-title="<?php print $lines_of_text[0].$lines_of_text[1];?>"><img src="img/img (1).jpg" alt="image"></a></li>
<?php endforeach; ?>
<li><a href="img/img (2).jpg" data-lightbox="imggallery" data-title="My caption"><img src="img/img (2).jpg" alt="image"></a></li>
<li><a href="img/img (3).jpg" data-lightbox="imggallery"><img src="img/img (3).jpg" alt="image"></a></li>
<li><a href="img/img (4).jpg" data-lightbox="imggallery"><img src="img/img (4).jpg" alt="image"></a></li>
<li><a href="img/img (5).jpg" data-lightbox="imggallery"><img src="img/img (5).jpg" alt="image"></a></li>
<li><a href="img/img (6).jpg" data-lightbox="imggallery"><img src="img/img (6).jpg" alt="image"></a></li>
<li><a href="img/img (7).jpg" data-lightbox="imggallery"><img src="img/img (7).jpg" alt="image"></a></li>
<li><a href="img/img (8).jpg" data-lightbox="imggallery"><img src="img/img (8).jpg" alt="image"></a></li>
<li><a href="img/img (9).jpg" data-lightbox="imggallery"><img src="img/img (9).jpg" alt="image"></a></li>
<li><a href="img/img (10).jpg" data-lightbox="imggallery"><img src="img/img (10).jpg" alt="image"></a></li>
</ul>
有人知道该怎么做吗?
编辑:图像被以下代码重复:
<ul id="itemContainer">
<?php
$file_handle = fopen("imggallery.csv", "r");
while (!feof($file_handle)) {
$lines_of_text[] = fgetcsv($file_handle, 1024);
}
fclose($file_handle);
foreach ( $lines_of_text as $line_of_text): ?>
<li><a href="img/img (1).jpg" data-lightbox="imggallery" data-title="<?php print $line_of_text[0].$line_of_text[1];?>"><img src="img/img (1).jpg" alt="image"></a></li>
<li><a href="img/img (2).jpg" data-lightbox="imggallery" data-title="<?php print $line_of_text[0].$line_of_text[1];?>"><img src="img/img (2).jpg" alt="image"></a></li>
<li><a href="img/img (3).jpg" data-lightbox="imggallery" data-title="<?php print $line_of_text[0].$line_of_text[1];?>"><img src="img/img (3).jpg" alt="image"></a></li>
<li><a href="img/img (4).jpg" data-lightbox="imggallery" data-title="<?php print $line_of_text[0].$line_of_text[1];?>"><img src="img/img (4).jpg" alt="image"></a></li>
<li><a href="img/img (5).jpg" data-lightbox="imggallery" data-title="<?php print $line_of_text[0].$line_of_text[1];?>"><img src="img/img (5).jpg" alt="image"></a></li>
<li><a href="img/img (6).jpg" data-lightbox="imggallery" data-title="<?php print $line_of_text[0].$line_of_text[1];?>"><img src="img/img (6).jpg" alt="image"></a></li>
<li><a href="img/img (7).jpg" data-lightbox="imggallery" data-title="<?php print $line_of_text[0].$line_of_text[1];?>"><img src="img/img (7).jpg" alt="image"></a></li>
<li><a href="img/img (8).jpg" data-lightbox="imggallery" data-title="<?php print $line_of_text[0].$line_of_text[1];?>"><img src="img/img (8).jpg" alt="image"></a></li>
<li><a href="img/img (9).jpg" data-lightbox="imggallery" data-title="<?php print $line_of_text[0].$line_of_text[1];?>"><img src="img/img (9).jpg" alt="image"></a></li>
<li><a href="img/img (10).jpg" data-lightbox="imggallery" data-title="<?php print $line_of_text[0].$line_of_text[1];?>"><img src="img/img (10).jpg" alt="image"></a></li>
<?php endforeach; ?>
</ul>
更新的 csv 文件如下:
img/img (1),a@gmail.com
img/img (2),b@gmail.com
img/img (3),c@gmail.com
img/img (4),d@gmail.com
img/img (5),e@gmail.com
img/img (6),f@gmail.com
img/img (7),g@gmail.com
img/img (8),h@gmail.com
img/img (9),i@gmail.com
img/img (10),j@gmail.com
【问题讨论】:
-
var_dump($line_of_text);在使用它之前。它打印什么?
-
@ user4035:你能告诉我如何检查吗?作为这个 csv 函数的新手。
-
foreach ($lines_of_text as $line_of_text): var_dump($line_of_text);?>
-
@novice 您只需将
var_dump($lines_of_text)行添加到您的代码中,即可查看该变量中实际存储的内容。除此之外,您还应该查看函数str_getcsv。这是来自php.net/manual/en/function.str-getcsv.php 的示例 $csv = array_map('str_getcsv', file('data.csv'));这将获取您的整个 CSV 文件并将其解析为一个数组。 -
@user4035 :
array (size=2) 0 => string 'img/img (1)' (length=11) 1 => string 'a@gmail.com' (length=11)结果是这样的。