2015-01-24 2 views
-1

Я разрабатываю сайт в PHP, и я должен включить в индекс первые три строки текстового файла в PHP. Как я могу это сделать?получить первые 3 строки текстового файла в php

<?php 
$file = file_get_contents("text.txt"); 
//echo the first 3 lines, but it's wrong 
echo $file; 
?> 
+0

использовать файл '()' и получить индексы '0-2' – Ghost

+2

вы можете получить представление оттуда http://stackoverflow.com/questions/13246597/how-to-read-a-file-line-by-line-in-php. Если вы это сделаете, вы получите дополнительную помощь. –

+0

Как? можете ли вы дать мне правильный код? Я думаю, это не очень сложно, но мне нехорошо открывать/редактировать/читать файлы в PHP. – user2701811

ответ

3

Открыть файл, читать строки, закройте файл:

// Open the file for reading 
$file = 'file.txt'; 
$fh = fopen($file, 'rb'); 

// Handle failure 
if ($fh === false) { 
    die('Could not open file: '.$file); 
} 
// Loop 3 times 
for ($i = 0; $i < 3; $i++) { 
    // Read a line 
    $line = fgets($fh); 

    // If a line was read then output it, otherwise 
    // show an error 
    if ($line !== false) { 
     echo $line; 
    } else { 
     die('An error occurred while reading from file: '.$file); 
    } 
} 
// Close the file handle; when you are done using a 
// resource you should always close it immediately 
if (fclose($fh) === false) { 
    die('Could not close file: '.$file); 
} 
3

file() функция возвращает строки файла в виде массива. Затем вы можете использовать array_slice, чтобы получить первые 3 элемента этого:

$lines = file('file.txt'); 
$first3 = array_slice($lines, 0, 3); 
echo implode('', $first3); 
5

Еще более простой:

<?php 
$file_data = array_slice(file('file.txt'), 0, 3); 
print_r($file_data); 
Смежные вопросы