PHP.SU

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

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

> Найдено сообщений: 12
Clover7 Отправлено: 17 Июня, 2017 - 11:09:36 • Тема: Вывод файла начиная с последней строки • Форум: Вопросы новичков

Ответов: 20
Просмотров: 1032
Строитель Мне нужно прочитать весь файл, там в любом случае больше 200 строк не будет (ограничено $col_zap). Все работает, как обычно с небольшой модификацией для меня. Наверное этот вариант я и оставлю, еще раз спасибо Вам.
Clover7 Отправлено: 16 Июня, 2017 - 21:17:44 • Тема: Вывод файла начиная с последней строки • Форум: Вопросы новичков

Ответов: 20
Просмотров: 1032
Строитель А почему код немного сменен местами в вашем варианте, это на что-то влияет ?
Мне кажется можно использовать и этот вариант если размер файла большой, ничего страшного в нем нет. Еще раз спасибо, я не могу к сожалению поставить + вам так как мало сообщений.
Clover7 Отправлено: 16 Июня, 2017 - 19:09:25 • Тема: Вывод файла начиная с последней строки • Форум: Вопросы новичков

Ответов: 20
Просмотров: 1032
Строитель пишет:
По окончании работы скрипта переменные из памяти удаляются автоматически.
Понятно, спасибо.
Clover7 Отправлено: 16 Июня, 2017 - 18:32:25 • Тема: Вывод файла начиная с последней строки • Форум: Вопросы новичков

Ответов: 20
Просмотров: 1032
Строитель, спасибо, мой файл статистики будет записывать только последние 200 посещений сайта и его обьем не будет превышать 100кб. Скажите а как то можно сделать что-бы файл при открытии страницы загружался в массив выводился на экран и автоматически после показа, удалялся из памяти ?
Clover7 Отправлено: 16 Июня, 2017 - 10:47:28 • Тема: Вывод файла начиная с последней строки • Форум: Вопросы новичков

Ответов: 20
Просмотров: 1032
То есть в моем случае лучше считывать файл в массив как предложил Vladimir Kheifets, скажите в этом случае файл пишется в память один раз, а потом перезаписывается, так как изменяется содержимое я правильно понимаю то есть в памяти находится всего один файл state или нет ?

А где вы нашли второй вариант, можно ссылку на него ?
Clover7 Отправлено: 16 Июня, 2017 - 02:27:35 • Тема: Вывод файла начиная с последней строки • Форум: Вопросы новичков

Ответов: 20
Просмотров: 1032
Строитель большое спасибо, это тоже работает но с небольшим изменением, я не могу использовать никакие echo в коде, так как это выводит данные вверху экрана, а не на странице шаблона (smarty), вот так работает:
Спойлер (Отобразить)


Что значит число 256, это максимальное количество строк или что-то другое ? Тут огромное количество кода по сравнению с прошлым вариантом, что делает этот скрипт, я так понимаю он уже не считывает файл целиком в память, а ищет последнюю строку и что дальше ?
То что вы написали в P.S , это касается первого варианта или и второго тоже, ну и интересно узнать почему не рекомендуется, посоветуйте пожалуйста какой вариант мне в итоге лучше использовать ?
Clover7 Отправлено: 15 Июня, 2017 - 20:50:41 • Тема: Вывод файла начиная с последней строки • Форум: Вопросы новичков

Ответов: 20
Просмотров: 1032
Vladimir Kheifets Прошу прощения видимо я был невнимателен, первый вариант который вы дали, все таки работает и выводит список начиная с последних посетителей сайта, то есть начиная с последней строки файла , скажите такая операция не будет постепенно загружать память сервера (ограничение на файл в 500 строк) и можно ли как нибудь в этом скрипте запретить доступ к файлу из браузера ? Я оставил вот такой вариант:

PHP:
скопировать код в буфер обмена
  1. if (file_exists("state.dat")) {
  2. @chmod("state.dat", 0600); }
  3.    $buf=array();
  4. if ($fp = fopen("state.dat", "r"))
  5.         {
  6.         while (!feof($fp)) {
  7.             $buf[] = fgets($fp);          
  8.         }
  9.         fclose($fp);
  10. }    
  11. $logg = "";
  12. foreach (array_reverse($buf) as $v) $logg .= $v."<br>";
  13.        
  14.  
  15. $smarty->assign('logs', $logg);
Clover7 Отправлено: 15 Июня, 2017 - 18:37:05 • Тема: Вывод файла начиная с последней строки • Форум: Вопросы новичков

Ответов: 20
Просмотров: 1032
В файле записан лог посещения сайта, один пользователь- одна строка, поэтому обязательно, размер файла небольшой до 200кб, видите мне нужно вывести это посредством smarty, который тоже наверное накладывает свои правила на синтаксис.

Мне нужно вывести файл на экран, начиная с последней строки, то есть в обратном порядке, а как он будет считываться по большому счету не важно.
Clover7 Отправлено: 15 Июня, 2017 - 15:34:18 • Тема: Вывод файла начиная с последней строки • Форум: Вопросы новичков

Ответов: 20
Просмотров: 1032
Спасибо, но не работает страница не открывается.
Clover7 Отправлено: 15 Июня, 2017 - 12:13:16 • Тема: Вывод файла начиная с последней строки • Форум: Вопросы новичков

Ответов: 20
Просмотров: 1032
Здравствуйте, подскажите пожалуйста как вывести файл начиная с последней строки то есть в обратном порядке, что нужно добавить в этот код:
PHP:
скопировать код в буфер обмена
  1. if (file_exists("state.dat")) {
  2.     @chmod("state.dat", 0600);
  3.     $logg = "";
  4.     if ($fp = fopen("state.dat", "r")) {
  5.         while (!feof($fp)) {
  6.             $logg .= fgets($fp);
  7.             $logg .= "<br>";
  8.         }
  9.         fclose($fp);
  10.     }
  11.     $smarty->assign('logs', $logg);
  12. }
  13.  
Clover7 Отправлено: 13 Июня, 2017 - 09:43:58 • Тема: Вывод array в Smarty • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 47
Получилось вывести содержимое файла но с дополнительными символами Array ( [0], [1], [2] в каждой строке, вот код, может быть кому-то пригодится:
PHP:
скопировать код в буфер обмена
  1. $smarty->assign ('test', $file);

и .tpl

Как вывести весь файл построчно в неизменном виде, подскажите пожалуйста, я на большее уже и не надеюсь, неужели никто не знает ?
Clover7 Отправлено: 12 Июня, 2017 - 14:52:05 • Тема: Вывод array в Smarty • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 47
Здравствуйте, помогите пожалуйста вывести array в Smarty. В файле state.dat находятся данные размещенные в одну строку.
У меня получилось достать значение только последней строки, а мне нужны все которые есть в файле. Я не программист поэтому большой трудностью было уже подключить это к существующему шаблону. Мучался целый день ничего не получается. Хочу добавить страницу с просмотром статистики на сайт и вот все не как.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.  
  4.  
  5. if (!LoggedIn()) {
  6.     header("Location: ./index.php");
  7.     exit();
  8. }
  9.  
  10. if (isset($_GET[col])) { $col=$_GET[col]; } else { $col=50; }
  11. $file=file("state.dat"); ?>
  12.  
  13. <?PHP
  14. if ($col>sizeof($file)) { $col=sizeof($file); } ?>
  15.  
  16. <?PHP
  17.    for ($si=sizeof($file)-1; $si+1>sizeof($file)-$col; $si--) {
  18.    $string=explode("|",$file[$si]);
  19.    $q1[$si]=$string[0]; // date
  20.    $q2[$si]=$string[1]; // bot
  21.    $q3[$si]=$string[2]; // ip
  22.    $q4[$si]=$string[3];
  23.    $q5[$si]=$string[4]; // referer
  24.    
  25. }
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. //$smarty->assign('Dater', $file);
  34. //$smarty->assign('Namer', $q2[$si]=$string[1]);
  35. //$smarty->assign('IPr', $q3[$si]=$string[2]);
  36.  
  37.  
  38.  
  39.  
  40.   // Assign this page's variables
  41. $smarty->assign('page_title', "Visitors");
  42. $smarty->assign('page_header', "View Site Visitors");
  43.  
  44. // Capture this page's content
  45. $page_content = $smarty->fetch($CONFIG['website_path'] . 'admin/skin/sniff.tpl');
  46. $smarty->assign('page_content', $page_content);
  47.  
  48. // Display the template HTML
  49. $smarty->display($CONFIG['website_path'] . 'admin/skin/layout.tpl');
  50.  
  51. ?>

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB