PHP列表文件夹中的.txt文件的内容

时间:2012-07-03 11:55:29

标签: php jquery html

在我的网站上,我有一个上传故事功能,其中包含用户书面标题和故事。它将其作为文本文件上载到目录中。有没有办法使用PHP或任何东西列出这些文件的内容?此外,我只想显示200个故事的字符,并有一个“显示全文”按钮,这将显示完整的故事(我将使用jQuery)。

谢谢!

2 个答案:

答案 0 :(得分:1)

$dataArray = array();
//Number of chars for the string
$num = 200;

//Check if DIR exists
if ($handle = opendir('.')) {
    //Loop over the directory
    while (false !== ($file = readdir($handle))) {
        //Strip out the . and .. files
        if ($file != "." && $entry != "..") {
            $dataArray[] = array();
            //Store file contents
            $filecontent = file_get_contents($file);
            //Split the content and store in array
            $length = strlen($filecontent);
            $dataArray[] = array(substr($filecontent, 0, $num), substr($filecontent, $num, $length )); 
        }
    }
    //close the dir
    closedir($handle);
}

通过这个,你得到一个包含.txt文件所有内容的数组,分成两个字符串,一个包含200个字符,另一个包含其余字符。

200长度的字符串是$ dataArray [x] [0],另一个是$ dataArray [x] [1]。

现在您可以在HTML中使用它:

<?php foreach($dataArray as $data) { ?>
    <div class="visible">
        <?php echo $data[0]; ?>
    </div> 
    <div class="hidden">
        <?php echo $data[1]; ?>
    </div>
<?php } ?>

答案 1 :(得分:1)

在php.net中

: 打开目录: opendir()http://php.net/manual/en/function.opendir.php

$dir = opendir('/path/to/files');

读取目录(可以循环): readdir()http://www.php.net/manual/en/function.readdir.php

while (false !== ($file= readdir($dir))) {
        //$file has the filename
    }

获取文件的内容: file_get_contents()http://php.net/manual/es/function.file-get-contents.php

$content=file_get_contents($file);