PHP从特定行读取txt到结尾

时间:2015-06-07 10:10:49

标签: php file-io

在下文中,$mensaxe读取.txt文件的第二行:

function getMessageList(){
  $this->messageList = array();
  if ($handle = @opendir($this->messageDir)) { while ($file = readdir($handle)) { if (!is_dir($file)) { $this->messageList[] = $file; } } } 
    rsort($this->messageList);
    return $this->messageList;}   

function displayGuestbook($page=1){
  $list = $this->getMessageList();

  $startItem = ($page-1)*$this->itemsPerPage;
  if (($startItem + $this->itemsPerPage) > sizeof($list)) $endItem = sizeof($list);
  else $endItem = $startItem + $this->itemsPerPage; 

  for ($i=$startItem;$i<$endItem;$i++){
    $value = $list[$i];
    $data = file($this->messageDir.DIRECTORY_SEPARATOR.$value);
    $fecha  = trim($data[0]);
    $titulu = trim($data[1]);
    $mensaxe = trim($data[2]);  
        unset ($data['0']);
        unset ($data['1']);
        unset ($data['2']);

        echo "<div id=\"comentariu\">
              <div>$fecha</div>
              <div>$titulu</div>
              <div>$mensaxe</div>
              </div>"; }

如何将其从第二行读到最后?

2 个答案:

答案 0 :(得分:0)

我很难理解你的问题,但也许你想要这个。 mensaxe将收到所有数组项,但0和1

$mensaxe = array_slice($data, 2);

您可以通过array_map函数修剪所有数组:

$mensaxe = array_map(trim, array_slice($data, 2));

<强>更新

输出$ mensaxe作为文本,你可以使用
而不是以前的换行符来创建字符串

echo "<div id=\"comentariu\">
              <div>$fecha</div>
              <div>$titulu</div>
              <div>".implode('<br>', $mensaxe)."</div>
              </div>"; }

答案 1 :(得分:0)

你可以这样使用array_slice

$mensaxe = array_slice($data, 2);

// ...
echo "<div>$titulu</div>";

echo "<ul>";
foreach($mensaxe as $value) {
    echo "<li>$value</li>";
}
echo "</ul>";