За последние 24 часа нас посетил 52731 программист и 1769 роботов. Сейчас ищут 897 программистов ...

Как вывести количество строк файлов постранично и ссумировать количество строк всех файлов?

Тема в разделе "PHP для новичков", создана пользователем Bridun, 28 апр 2018.

Метки:
  1. Bridun

    Bridun Новичок

    С нами с:
    2 окт 2017
    Сообщения:
    71
    Симпатии:
    1
    Привет всем подскажите как реализовать, есть скажем 100 тхт. файлов в них записаны строки разного количества , как вывести количество строк файлов постранично и ссумировать количество строк всех файлов.
    я уже делал вот так дело втом что выводится на всех файлах лиш одна сума по последнему файлу

    PHP:
    1. $files = glob("../data/*.*");
    2. $count_file = count(@$files);
    3. $fnumber = '10';
    4. foreach($files as $file){
    5.  
    6. $name[] = basename($file);
    7.  
    8. //$count = count(file($file));   // строки
    9. //$summa += $count;
    10. //$size = round(filesize($file)/1024,2);
    11. }
    12. $amount = count($name);
    13.  
    14. $pages = ceil($amount/$fnumber);
    15.  
    16. $page = $_GET['page'];
    17.  
    18. if(!$page OR $page=='')
    19. {
    20.         $nav_min = 0;
    21.         $nav_max = $fnumber - 1;
    22. }else{
    23.         $nav_min = ($page * $fnumber) - $fnumber;
    24.         $nav_max = ($fnumber * $page) - 1;
    25. }
    26.  
    27. # Вывод
    28. for($i = $nav_min; $i <= $nav_max; $i++)
    29.  
    30. {
    31.         echo $name[$i]; // выводится
    32.  
    33.            echo $size;   //  НЕ выводится
    34.  
    35.             echo $count;   //  НЕ выводится
    36.  
    37. }
    38.  
    39.             echo $summa;   //  НЕ выводится
    40.  
    41.  
    42.  
    43.     # Навигация
    44.  
    45.     for($fpr = '', $i =1; $i <= $pages; $i++)
    46.     {
    47.         echo $fpr=(($i == 1 || $i == $pages || abs($i-$page) < 2) ? ($i == $page ? "<b style='font-size: 14px'>[$i]</b> | " : ' <a href="?page='.$i.'">'.$i.'</a> | ') : (($fpr == ' ... ' || $fpr == '')? '' : ' ... '));
    48.     }
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Есть такая утилита CLOC (count lines of code). Она очень многое умеет считать.

    По твоему коду: смотрю на твои комментарии "не выводится" — ну да, логично. Эти переменные/элементы массива не заданы :) Нельзя вывести то, чего нет.
     
  3. Bridun

    Bridun Новичок

    С нами с:
    2 окт 2017
    Сообщения:
    71
    Симпатии:
    1

    да я и показал что имено не выводится , знаю что закоментировано потому что не выводится, поэтому и прошу подсказать
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    так я и подсказываю.
    --- Добавлено ---
    нельзя просто взять и получить желаемое без труда ) придется либо разбираться, либо платить.
     
  5. Bridun

    Bridun Новичок

    С нами с:
    2 окт 2017
    Сообщения:
    71
    Симпатии:
    1
    там еще больше дров, я этот код прошу подправить или подсказать если хотите
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    двигайся от простого к сложному. проверяй результат на каждом шаге. выводи и анализируй все ошибки. http://phpfaq.ru/debug
    --- Добавлено ---
    тут нечего подправять брат. это ноль
     
  7. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
  8. Bridun

    Bridun Новичок

    С нами с:
    2 окт 2017
    Сообщения:
    71
    Симпатии:
    1
  9. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Я хотел показать что так делать нельзя.
     
  10. Bridun

    Bridun Новичок

    С нами с:
    2 окт 2017
    Сообщения:
    71
    Симпатии:
    1
    а как???
     
  11. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Вот так
    PHP:
    1. ini_set('display_errors', 1);
    2. ini_set('display_startup_errors', 1);
     
  12. Bridun

    Bridun Новичок

    С нами с:
    2 окт 2017
    Сообщения:
    71
    Симпатии:
    1
    eweteryrew.png
     
  13. Bridun

    Bridun Новичок

    С нами с:
    2 окт 2017
    Сообщения:
    71
    Симпатии:
    1
    та где это права это выводится на всех файлах лиш одно количество строк по последнему файлу
     
  14. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    PHP:
    1. echo array_sum(array_map(function ($f) { return count(file($f)); }, glob('./*.txt')));
    отдельно от суммирования
     
  15. Bridun

    Bridun Новичок

    С нами с:
    2 окт 2017
    Сообщения:
    71
    Симпатии:
    1
    Спасибо за вариант а как вывести количество файлов отдельно постранично??? eweteryrewtertrewyrt.png
    --- Добавлено ---
    eweteryrew.png