Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как вывести номер строки при зачитывании файла массив через fail()

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Помогите правильно решить лабораторную работу второго курса php № 4 курсов Специалист 2015 Создание и чтение журнала посещения страниц
новый ученик
Отправлено: 10 Мая, 2017 - 17:00:14
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2017  


Помог: 0 раз(а)




Если кто сталкивался помогите пожалуйста! Есть два скрипта в одном запись в файл в другом зачитывание файла в массив и вывод. Сделал всё кроме вывода номера строки. У Борисова номер первой строки 1. В уроке нет записи разбора этой лабораторной работы. Как вывести номер строки с 1? Мне пришло в голову только зачитать ключи массива, но тогда первая строка 0. вторая 1. Думал как записать номер строки в строку файла, но не нашёл решения... Вот то что сделано. Пишет и выводит вроде всё правильно за исключением номера строки.
PHP:
скопировать код в буфер обмена
  1. // Здесь пишем в файл.
  2. if(isset($_SESSION['loget'])){
  3. $dt =  date("[d-m-Y H:i:s]");
  4. $page = $_SERVER['REQUEST_URI'];
  5. $ref = $_SERVER['HTTP_REFERER'];
  6. $path = "$dt | $ref | $page\n";
  7. file_put_contents("log/PATH_LOG", "$path", FILE_APPEND);
  8. $_SESSION['loget']= "log/PATH_LOG";
  9. }
  10. //Здесь выводим.
  11. if( is_file($_SESSION['loget']) ){
  12.     $log = file($_SESSION['loget']);
  13.     foreach($log as $key =>$lines){
  14.         echo "$key . $lines <br />";
  15.     }
  16. }


Отредактировано модератором: armancho7777777, 10 Мая, 2017 - 21:33:08
 
 Top
новый ученик
Отправлено: 10 Мая, 2017 - 21:07:39
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2017  


Помог: 0 раз(а)




Спасибо что никто не ответил! Я сам нашёл ответ, который оказался элементарным. В скрипте вывода нужно инкрементировать ключ вот так и всё заработало.
session_start();
if( is_file($_SESSION['loget']) ){
//echo "Файл существует";
$log = file($_SESSION['loget']);
foreach($log as $key =>$lines){
echo ++$key." . $lines <br />";
}
}


Отредактировано модератором: armancho7777777, 10 Мая, 2017 - 21:33:40
 
 Top
новый ученик
Отправлено: 15 Июня, 2017 - 13:52:57
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Май 2017  


Помог: 0 раз(а)




новый ученик пишет:
Спасибо что никто не ответил! Я сам нашёл ответ, который оказался элементарным. В скрипте вывода нужно инкрементировать ключ вот так и всё заработало.
session_start();
if( is_file($_SESSION['loget']) ){
//echo "Файл существует";
$log = file($_SESSION['loget']);
foreach($log as $key =>$lines){
echo ++$key." . $lines <br />";
}
}

Работа над ошибками. Так будет правильно. А сессия здесь вообще не нужна.
Здесь пишем файл.
$dt = time();// Время записи
$page = $_SERVER['REQUEST_URI']; // Куда переходим
$ref = $_SERVER['HTTP_REFERER']; // Откуда переходим
$path = "$dt|$page|$ref"; // Формируем строку для записи в файл
file_put_contents("log/".PATH_LOG, "$path\n", FILE_APPEND); // Делаем запись в файл

А здесь выводим записи файла.
//Проверяем наличие файла
if(is_file("log/".PATH_LOG) ){
// Зачитываем файл в массив
$file = file("log/".PATH_LOG);
echo "<ol>";
foreach($file as $line){
//Присваиваем запись в переменные по разделителю
list($dt, $page, $ref) = explode("|", $line);
// Трансформируем метку времени
$dt = date("d-m-Y H:i:s", $dt);
// Выводим записи файла
echo <<<OUT
<li>
[$dt]: $ref -> $page
</li>
OUT;
}
echo "</ol>";
}
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB