Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zliacznie linijek kodu
Forum PHP.pl > Inne > Komputery i oprogramowanie
hhg
szukam programu ktory zliczy mi lnijki kodu w moim cmsie, a ze jest to 0,5 mb kodu i sporo plikow to zalezy mi na automacie
znacie cos takiego?
z gory thx..
NetJaro
hmm smile.gif Koniecznie program? Może skrypt winksmiley.jpg file" title="Zobacz w manualu php" target="_manual i zliczasz elementy tablicy ;-)
seaquest
Przenoszę na komputery i oprogramowanie.
hhg
to file by zalatwilo sprawe z jednym plikiem, a jak wyciagne dane z podkatalogow i podpodkatalogow?
to umialbym w sumie w shellu napisac ale z racji napietego terminarza wolalbym program

dzieki za odp czekam na dalsze
NuLL
  1. <?php
  2. $suma=0;
  3.  
  4. $it=new RecursiveDirectoryIterator('/katalog');
  5.  
  6. foreach($it as $obj)
  7. {
  8. if(is_file($obj))
  9. {
  10. $suma+=count(file($obj));
  11. }
  12. }
  13. ?>

winksmiley.jpg
dr_bonzo
Kod
find . -name "*.php" | xargs wc -l | tail -n 1

Unixy tylko smile.gif
hhg
podziekowac
hwao
Ja mam ciut wiecej, moze ktos bedzie sie bawil

stat.php
  1. <?php
  2. function recursiveDir( $sDir, &$iFiles, &$iLines, &$iChars) {
  3. static $a = array( '.', '..' );
  4.  
  5. foreach( new DirectoryIterator($sDir) as $f) {
  6. if( !in_array( $f, $a ) ) {
  7.  
  8. $sNewDir = $sDir.'/'.$f;
  9.  
  10. if( is_dir( $sNewDir ) ) {
  11. echo '<li><strong>'.$sNewDir.'</strong></li>';
  12. echo '<ul>';
  13. recursiveDir( $sNewDir, $iFiles, $iLines, $iChars );
  14. echo '</ul>';
  15. } else {
  16. $s = file_get_contents( $sNewDir );
  17. $iFiles++;
  18. $iLines += $i = count( explode( "n", $s ) );
  19. // Powinno byc  n
  20. $iChars += $l = strlen( $s );
  21.  
  22. echo '<li>'.$f.' (lines:'.$i,', chars:'.$l.')</li>';
  23. }
  24. }
  25. }
  26.  
  27. }
  28.  
  29. $i = $f = $l = 0;
  30. echo '<ul>';
  31.  
  32. recursiveDir( './../', $f, $i, $l );
  33.  
  34. echo '</ul>';
  35. echo '<pre>
  36. <b>Linii: </b>'.$i.'
  37. <b>Znaków: </b>'.$l.'
  38. <b>LPC: </b>'.ceil( $l/$i ).'
  39. --------
  40. <b>Plików </b>'.$f.'
  41. <b>LPF  </b>'.ceil( $i/$f ).'
  42. <b>CPF  </b>'.ceil( $l/$f ).'
  43. </pre>';
  44.  
  45. ?>

LPC - Ile znakow srednio w linijce
LPF - Ile srednio lini w pliku
CPF - Ile srednio znaków w pliku

dr_bonzo
Moje rozwiazanie i tak bedzie najszybsze biggrin.gif
Zadnych explodow wielkich plikow czy ladowania calego pliku do tablicy?

A nie szybszy (w ramach php) bedzie preg_match_all po "\n" i zliczenie wystapien?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.