首頁 後端開發 php教程 利用php失去文件夹的md5校验值

利用php失去文件夹的md5校验值

Jun 13, 2016 pm 01:25 PM
dir entry global md5 str

利用php得到文件夹的md5校验值

<?php /**
 * 工具文件
 * 最终目的在于比较两个文件夹的差异,
 * 
 * 但是本程序只用于得到一个目录的md5校验和,所以需要分别在不同机器上执行,然后比较md5校验和
 * 
 * 
 * 1)调用示例
 * php get_folder_md5.php /home/temp/2 
 * 
 * 2)我不想比.svn目录,所以程序中有$entry != ".svn",如果想彻底比较,请删除&& $entry != ".svn"
 * 3)
 * @author yyy
 */

//参数确定
if (count($argv) > 1 )
  $dir1 = del_postfix($argv[1]);
else 
  die('please input dir');



$global_str = md5('1');  
  
//检查第一个路径有,后者没有或错误的方法。
get_folder_md5($dir1);
echo "===========================================================\n";

echo $global_str;
echo "\n";


/**
 * 去除路径末尾的/,并确保是绝对路径
 *
 * @param unknown_type $dir
 * @return unknown
 */
function del_postfix($dir)
{
    if (!preg_match('#^/#', $dir)) {
        throw new Exception('参数必须是绝对路径');
    }
    $dir = preg_replace('#/$#', '', $dir);
    return $dir;
}




/**
 * 递归调用获取md5
 *
 * @param string $dir1        路径1,是标准
 */
function get_folder_md5($dir1){
    global $global_str;
    if (is_dir($dir1)) {
        $arr =  scandir($dir1);
        foreach ($arr as $entry) {
            if (($entry != ".") && ($entry != "..")  && ($entry != ".svn")){
                $new = $dir1."/".$entry; //$new是完整文件名或文件夹名
                //如果不想显示文件名可以注释下面这句
                echo $entry ."\n";
                $global_str = md5($global_str . $entry);
                if(is_dir($new)) {
                    get_folder_md5($new) ;
                } else { 
                    $global_str = md5($global_str . md5_file($new) );
                }
            }
        }
    }
}

登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

MySQL中如何使用MD5加密 MySQL中如何使用MD5加密 May 28, 2023 pm 02:16 PM

什麼是MD5? MD5資訊摘要演算法(英文:MD5Message-DigestAgorithm),一種被廣泛使用的密碼雜湊函數,可以產生一個128位元(16位元組)的雜湊值(hashvalue),用來確保資訊傳輸完整一致。 MD5由美國密碼學家羅納德·李維斯特(RonaldLinnRivest))設計,於1992年公開,以取代MD4演算法。這套演算法的程式在RFC1321標準中被加以規範。 1996年後該演算法被證實有弱點,可以被加以破解,對於需要高度安全性的數據,專家一般建議改用其他

PHP計算檔案的 MD5 雜湊 PHP計算檔案的 MD5 雜湊 Mar 21, 2024 pm 01:42 PM

這篇文章將為大家詳細講解有關PHP計算文件的MD5散列,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章後可以有所收穫。 PHP計算檔案的MD5雜湊MD5(MessageDigest5)是一種單向加密演算法,可將任意長度的訊息轉換為固定長度的128位元雜湊值。它廣泛用於確保文件完整性、驗證資料真實性和建立數位簽章。在PHP中計算檔案的MD5雜湊php提供了多種方法來計算檔案的MD5雜湊:使用md5_file()函數md5_file()函數直接計算檔案的MD5雜湊值,傳回一個32個字元的

小米Mesh系統AC1200:全球推出覆蓋面積達370平方公尺的全新Wi-Fi Mesh系統 小米Mesh系統AC1200:全球推出覆蓋面積達370平方公尺的全新Wi-Fi Mesh系統 Jun 19, 2024 pm 12:13 PM

小米針對全球市場推出了另一款WLAN Mesh系統。繼AC1200路由器(亞馬遜售價約69歐元)在該國上市後,小米Mesh系統AC1200現已發布。新產品已於近日上市

Python內建類型str原始碼分析 Python內建類型str原始碼分析 May 09, 2023 pm 02:16 PM

1Unicode電腦儲存的基本單位是位元組,由8個位元組組成。由於英文只由26個字母加若干符號組成,因此英文字元可以直接用位元組來保存。但是其他語言(例如中日韓等),由於字元眾多,不得不使用多個位元組來進行編碼。隨著電腦科技的傳播,非拉丁文字元編碼技術不斷發展,但是仍有兩個比較大的限制:不支援多語言:一種語言的編碼方案不能用於另一種語言沒有統一標準:例如中文就有GBK、GB2312、GB18030等多種編碼標準由於編碼方式不統一,開發人員就需要在不同編碼之間來回轉換,不可避免地會出現很多錯

PHP計算字串的 MD5 雜湊值 PHP計算字串的 MD5 雜湊值 Mar 21, 2024 am 10:51 AM

這篇文章將為大家詳細講解有關PHP計算字串的MD5散列值,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章後可以有所收穫。 PHP中計算字串的MD5雜湊值引言MD5(訊息摘要5)是一種流行的密碼學雜湊函數,用於產生固定長度的雜湊值,常用於保護資料完整性、驗證檔案完整性和建立數位簽章。本文將指南php開發人員如何使用內建函數計算字串的MD5雜湊值。 md5()函數PHP提供了md5()函數來計算字串的MD5雜湊值。此函數接收一個字串參數並傳回一個32個字元長度的16進位雜湊值

linux md5 工具是什麼 linux md5 工具是什麼 Jun 29, 2023 am 10:51 AM

linux md5工具是用於計算和驗證檔案的MD5雜湊值的工具,MD5是一種常用的雜湊演算法,用於產生唯一的、固定長度的雜湊值,通常為128位,在Linux終端機中使用md5sum指令,其語法為「md5sum <檔案路徑>」。

Python中__str__和__repr__有什麼異同點 Python中__str__和__repr__有什麼異同點 Apr 29, 2023 pm 07:58 PM

__str__和__repr__有什麼異同?字串的表示形式我們都知道,Python的內建函數repr()能夠把物件用字串的形式表達出來,方便我們辨認。這就是“字串表示形式”。 repr()就是透過__repr__這個特殊方法得到一個物件的字串表示形式的。如果沒有實作__repr__,當我們在控制台裡列印一個向量的實例時,得到的字串可能會是。 >>>classExample:pass>>>print(str(Example()))>>>

Linux常用Shell腳本有哪些 Linux常用Shell腳本有哪些 Feb 18, 2024 pm 05:36 PM

1.偵測兩台伺服器指定目錄下的檔案一致性#!/bin/bash############################################################################## #######偵測兩台伺服器指定目錄下的檔案一致性################################# ######透過比較兩台伺服器上檔案的md5值,達到偵測一致性的目的dir=/data/webb_ip=192.168.88.10#將指定目錄下的檔案全部遍歷出來並作為md5sum指令的參數,進而得到所有檔案的md5值,並寫入到指定檔案中find$dir-typ

See all articles