国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php 遍歷目錄,生成目錄下每個文件的md5值并寫入到結果文件中

2024-05-04 23:53:37
字體:
來源:轉載
供稿:網友

php 遍歷目錄,生成目錄下每個文件的md5值并寫入到結果文件中

實例代碼:

<?php /**  * @author Administrator *  */class TestGenerate {  public static $appFolder = "";  public static $ignoreFilePaths = array (    "xxxx/xxx.php"  );  public static function start() {    $AppPath = "E://myApp";    TestGenerate::$appFolder = $AppPath;    $destManifestPath = "E://temp2//dest.md5.txt";         // dest file handle    $manifestHandle = fopen ( $destManifestPath, "w+" );         // write header    TestGenerate::writeMaifestHeader ( $manifestHandle );         // write md5    TestGenerate::traverse ( $AppPath, $manifestHandle );         // write footer    TestGenerate::writeMaifestFooter ( $manifestHandle );         // close file    fclose ( $manifestHandle );  }     /**   * 遍歷應用根目錄下的文件,并生成對應的文件長度及md5信息   *   * @param unknown $AppPath   *     應用根目錄,如:xxx/xxx/analytics   * @param string $destManifestPath   *     生成的manifest文件存放位置的文件句柄   */  public static function traverse($AppPath, $manifestHandle) {    if (! file_exists ( $AppPath )) {      printf ( $AppPath . " does not exist!" );      return;    }    if (! is_dir ( $AppPath )) {      printf ( $AppPath . " is not a directory!" );      return;    }    if (! ($dh = opendir ( $AppPath ))) {      printf ( "Failure while read diectory!" );      return;    }         // read files    while ( ($file = readdir ( $dh )) != false ) {      $subDir = $AppPath . DIRECTORY_SEPARATOR . $file;             if ($file == "." || $file == "..") {        continue;      } else if (is_dir ( $subDir )) {        // rescure        TestGenerate::traverse ( $subDir, $manifestHandle );      } else {        // Sub is a file.        TestGenerate::writeOneFieToManifest ( $subDir, $manifestHandle );      }    }         // close dir    closedir ( $dh );  }     /**   * 寫一個文件的md5信息到文件中   *   * @param unknown $filePath        * @param unknown $fileHandle         */  public static function writeOneFieToManifest($filePath, $fileHandle) {    if (! file_exists ( $filePath )) {      continue;    }         $relativePath = str_replace ( TestGenerate::$appFolder . DIRECTORY_SEPARATOR, '', $filePath );    $relativePath = str_replace ( "//", "/", $relativePath );         // ignore tmp directory    if (strpos ( $relativePath, "tmp/" ) === 0) {      return;    }         $fileSize = filesize ( $filePath );    $fileMd5 = @md5_file ( $filePath );         $content = "/t/t";    $content .= '"';    $content .= $relativePath;    $content .= '"';    $content .= ' => array("';    $content .= $fileSize;    $content .= '","';    $content .= $fileMd5;    $content .= '"),';    $content .= "/n";         if (! fwrite ( $fileHandle, $content )) {      print ($filePath . " can not be written!") ;    }  }     /**   * 在manifes文件中寫入頭信息   *   * @param unknown $fileHandle         */  public static function writeMaifestHeader($fileHandle) {    $header = "<?php";    $header .= "/n";    $header .= "// This file is automatically generated";    $header .= "/n";    $header .= "namespace test;";    $header .= "/n";    $header .= "class MyFile {";    $header .= "/n";    $header .= "/tstatic /$allFiles=array(";    $header .= "/n";         if (! fwrite ( $fileHandle, $header )) {      printf ( "Failure while write file header." );    }  }     /**   * 在manifes文件中寫入尾部信息   *   * @param unknown $fileHandle         */  public static function writeMaifestFooter($fileHandle) {    $footer = "/t);";    $footer .= "/n";    $footer .= "}";    $footer .= "/n";         if (! fwrite ( $fileHandle, $footer )) {      printf ( "Failure while write file header." );    }  }} // Start applicationTestGenerate::start (); ?>

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 株洲县| 广汉市| 贵州省| 揭东县| 绥江县| 太保市| 正镶白旗| 双柏县| 海宁市| 安顺市| 辛集市| 若羌县| 达拉特旗| 略阳县| 衡阳市| 府谷县| 治县。| 宜都市| 逊克县| 台州市| 临潭县| 池州市| 廉江市| 营口市| 龙川县| 泽库县| 静乐县| 福鼎市| 哈巴河县| 新巴尔虎右旗| 资阳市| 门头沟区| 巴林左旗| 江阴市| 宣化县| 揭阳市| 揭阳市| 天门市| 个旧市| 筠连县| 玛沁县|