• May 14, 2018

    http://php.net/manual/en/function.scandir.php
    list all files
    บอกตำแหน่งไฟล์
    บอกจำนวนแถวของ code ในไฟล์
    บอกชื่อไฟล์

    <?php
    
      function DirLineCounter( $dir , $result = array('lines_html' => false, 'files_count' => false, 'lines_count' => false ), $complete_table = true )
      {
    
          $file_read = array( 'php', 'html', 'js', 'css' );
          $dir_ignore = array();
          
          $scan_result = scandir( $dir );
          
          foreach ( $scan_result as $key => $value ) {
            
              if ( !in_array( $value, array( '.', '..' ) ) ) {
                
                  if ( is_dir( $dir . DIRECTORY_SEPARATOR . $value ) ) {
                    
                      if ( in_array( $value, $dir_ignore ) ) {
                        continue;
                      }
                    
                      $result = DirLineCounter( $dir . DIRECTORY_SEPARATOR . $value, $result, false );
                      
                  }
                  else {
                    
                  $type = explode( '.', $value ); 
                  $type = array_reverse( $type );
                  if( !in_array( $type[0], $file_read ) ) {
                    continue;
                  }
                  
                  $lines = 0;
                  $handle = fopen( $dir . DIRECTORY_SEPARATOR . $value, 'r' );
    
                  while ( !feof( $handle ) ) {
    
                      if ( is_bool( $handle ) ) {
                          break;
                      }
    
                      $line = fgets( $handle );
                      $lines++;
                  }
    
                  fclose( $handle );
    
                  $result['lines_html'][] = '<tr><td>' . $dir . '</td><td>' . $value . '</td><td>' . $lines . '</td></tr>'; 
                  $result['lines_count'] = $result['lines_count'] + $lines;
                  $result['files_count'] = $result['files_count'] + 1;
                                 
                  }
              }
          }
          
          if ( $complete_table ) {
            
            $lines_html = implode('', $result['lines_html']) . '<tr><td></td><td style="border: 1px solid #222">Files Total: ' . $result['files_count'] . '</td><td style="border: 1px solid #222">Lines Total: ' . $result['lines_count'] . '</td></tr>';
            return '<table><tr><td style="width: 60%; background-color:#ddd;">Dir</td><td style="width: 30%; background-color:#ddd;">File</td><td style="width: 10%; background-color:#ddd;">Lines</td></tr>' . $lines_html . '</table>';
            
          }
          else {
            return $result;
          }
          
      }
    
      echo DirLineCounter( '.' );
    
    ?>


เวอไนน์ไอคอร์ส

ประหยัดเวลากว่า 100 เท่า!






เวอไนน์เว็บไซต์⚡️
สร้างเว็บไซต์ ดูแลเว็บไซต์

Categories