将数组解析为灯箱注释

时间:2012-08-06 19:32:39

标签: php arrays parsing explode

好的家伙再次需要你的帮助,

之前你们都介绍过我的灯箱,经过一些调整后很棒。除了在使用我的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];
     }
    }



    ?>

然后我正在使用自动填充我的图像相册的代码依次激活lighbtox。

    <?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>";
                        }
                    }


                    ?>

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

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

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

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

1 个答案:

答案 0 :(得分:1)

你应该从修改这一行开始:

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

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

(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)检查$var的值。

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