【问题标题】:parsing an array into a lightbox comment将数组解析为灯箱注释
【发布时间】:2012-08-06 19:32:39
【问题描述】:

好吧,伙计们再次需要你的帮助,

之前你们都给我介绍了灯箱,经过一些调整后效果很好。除了在使用我的 php 代码时,似乎没有办法为图像添加标题。现在我的一个朋友向我介绍了使用 .txt 文件的数组。现在这一切都很好,但我似乎无法获得我们想出的代码来正确读取文件。目前它随机拉出字母“a”和字母“p”并分配它,我不知道它从哪里得到这个。

现在这里是我用来获取文件内容的代码。

    <?php
    // process caption file into named array

    //open the file
    $myFile = "captions.txt";
    $fh = fopen($myFile, 'r') or die("Can't open file");

    $theData = explode(fread($fh, filesize($myFile)),"\n");


    //close the file
    fclose($fh);


    //parse line by line until there is no data left.
    foreach ($theData as $item => $line) {
     $exploded = explode("=", $line);
     if (count($exploded) == 2) {
     $myFile[$exploded[0]] = $exploded[1];
     }
    }



    ?>

然后我使用自动填充我的相册的代码依次激活 lightbtox。

    <?php

                    $images = glob('*.{jpg,jpeg,png,gif}', GLOB_BRACE);

                    foreach ($images as $image) {
                        if (file_exists("./thumbs/{$image}")){
                            echo "<a href=\"{$image}\" rel=\"lightbox[gallery]\" title=\"" . $myFile[$image] . "\" style=\"margin-left:25px; margin-right:25px; margin-top:30px; display:inline-block; border:5px solid #fff;\"><img src=\"thumbs/{$image}\" alt=\"{$image}\" /></a>";
                        }
                    }


                    ?>

使用此代码不会产生错误,但无法正确读取字幕文件。

我想要做的是设置文本文件,文件名由 = 分隔,然后是标题。

如果有人想看,这里是我的测试页面的链接。

http://outtamymindphoto.myftp.org/images/testalbum/testpage.php

【问题讨论】:

    标签: php arrays parsing explode


    【解决方案1】:

    你应该从修复这条线开始:

    $theData = explode(fread($fh, filesize($myFile)),"\n");
    

    根据 PHP Manual ,分隔符是第一个参数。

    (array explode ( string $delimiter , string $string [, int $limit ] ))
    

    (阅读更多关于explode - http://php.net/manual/en/function.explode.php

    正确的方法:

    $theData = explode("\n" , fread($fh, filesize($myFile)));
    

    您还应该尝试输出变量以定位问题。 例如,使用var_dump($var) 来检查$vars 的值。

    希望对你有所帮助, 如果您需要进一步的帮助,请发表评论。

    【讨论】:

    • 是的,我的伙伴又看了一遍代码,意识到他犯了一些错误。他为我重写了它,并附上了他所做的笔记,这样我就可以从中学习并与原作进行比较。新代码包含您建议的所有内容。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-09
    • 2011-10-27
    • 2010-11-09
    • 2011-03-18
    • 1970-01-01
    • 2016-05-01
    相关资源
    最近更新 更多