PHP遞歸實(shí)作更改資料夾下面的所有文件
Dec 05, 2016 pm 01:27 PM兩種方法,,隨機(jī)和條件兩種模式<?php <br />
/*<br>
?*?time:2016年12月2日17:58:36<br>
?*?author:張晨陽(yáng)<br>
?*?email:lequne@126.com<br>
?*/<br>
//根據(jù)判斷條件產(chǎn)生不同的檔名<br>
function?fRename($dirname)<br>
{<br>
????if?(!is_dir($dirname))?{<br>
????????echo?"{$dirname}不是有效的目錄!";<br>
????????exit();<br>
????}<br>
????$handle?=?opendir($dirname);<br>
<br>
????while?(($fn?=?readdir($handle))?!==?false)?{<br>
????????if?($fn?!=?'.'?&&?$fn?!=?'..')?{<br>
<br>
????????????echo?"fn?=?"?.?$fn?.?"nr";<br>
????????????$curDir?=?$dirname?.?'/'?.?$fn;<br>
<br>
????????????echo?"curDir?=?"?.?$curDir?.?"rn";<br>
????????????if?(is_dir($curDir))?{<br>
????????????????fRename($curDir);<br>
????????????}?else?{<br>
<br>
????????????????$path?=?pathinfo($curDir);<br>
????????????????//var_dump($path);//die;<br>
????????????????//$newname?=?$path['dirname'].'/'.rand(0,100).'.'.$path['extension'];<br>
????????????????//有圖片的資料<br>
????????????????$img_info?=?getimagesize($curDir);<br>
<br>
????????????????$w?=?$img_info[0];<br>
????????????????$h?=?$img_info[1];<br>
????????????????//?var_dump($w);<br>
????????????????if?($w?==?210?&&?$h?==?210)?{<br>
????????????????????$newname?=?'1.jpg';<br>
????????????????}?elseif?($w?==?720?&&?$h?==?268)?{<br>
????????????????????$newname?=?'2.jpg';<br>
????????????????}?elseif?($w?==?298?&&?$h?==?198)?{<br>
????????????????????$newname?=?'3.jpg';<br>
????????????????}?elseif?($w?==?338?&&?$h?==?365)?{<br>
????????????????????$newname?=?'4.jpg';<br>
????????????????}?elseif?($w?==?425?&&?$h?==?425)?{<br>
????????????????????$newname?=?'5.jpg';<br>
????????????????}?else?{<br>
????????????????????$newname?=?$fn;<br>????????????????}<br>
????????????????//$new=rand(10,100000000000);<br>
????????????????//$n=$new.'.jpg';<br>
????????????????//$newname1='.jpg';<br>
????????????????var_dump($curDir);<br>
????????????????$newname?=?str_replace($fn,?$newname,?$curDir);<br>
????????????????var_dump($newname);<br>
????????????????//???die;<br>
????????????????echo?"取代後的newname:"?.?$newname?.?"rn";<br>
????????????????rename($curDir,?$newname);<br>
????????????????//???echo?$curDir.'---'.$newname."<br>";<br>
????????????}<br>
<br>
????????}<br>
<br>
????}<br>
}<br>
<br>
//呼叫該方法<br>
<br>
//fRename('./001');<br>
<br>
<br>
//利用PHP目錄和檔案函數(shù)遍歷使用者給目錄的所有的檔案和資料夾,修改檔案名稱隨機(jī)<br>
function?rand_fRename($dirname)<br>
{<br>
????header('content-type:text/html;charset=utf8');<br>
????if?(!is_dir($dirname))?{<br>
????????echo?"{$dirname}不是有效的目錄!";<br>
????????exit();<br>
????}<br>
????$handle?=?opendir($dirname);<br>
<br>
????while?(($fn?=?readdir($handle))?!==?false)?{<br>
????????if?($fn?!=?'.'?&&?$fn?!=?'..')?{<br>
<br>
????????????echo?"fn?=?"?.?$fn?.?"nr";<br>
????????????$curDir?=?$dirname?.?'/'?.?$fn;<br>
<br>
????????????echo?"curDir?=?"?.?$curDir?.?"rn";<br>
????????????if?(is_dir($curDir))?{<br>
????????????????$new?=?generate_password();<br>
<br>
????????????????//?var_dump($new);die;<br>
<br>
????????????????$newname?=?str_replace($fn,?$new,?$curDir);<br>
????????????????var_dump($newname);<br>
????????????????rename($curDir,?$newname);<br>
????????????????rand_fRename($newname);<br>
????????????}<br>
??????else{<br>
<br>
?????????????????$path?=?pathinfo($curDir);<br>
?????????????????//var_dump($path);//die;<br>
?????????????????//$newname??????????//$newname?=?$path['dirname'].'/'.rand(0,100).'.'.$path['extension'];<br>);<br>
?????????????????//123[1]???123???????????????????//有圖片的資料<br>
?????????????????$img_info=getimagesize($curDir);<br>
????????????????//?var_dump($img_info);<br>
<br>
?????????????????$w=$img_info[0];<br>
?????????????????$h=$img_info[1];<br>
<br>
?????????????????//防止重複隨機(jī)產(chǎn)生檔案名字<br>
?????????????????$new=rand(10,100000000000);<br>
?????????????????$n=$new.'.jpg';<br>
?????????????????//$newname1='.jpg';<br>
?????????????????var_dump($curDir);<br>
?????????????????$newname?=?str_replace($fn,$n,$curDir);<br>
?????????????????var_dump($newname);<br>
??????????????//???die;<br>
?????????????????echo?"取代後的newname:".$newname."rn";<br>
?????????????????rename($curDir,$newname);<br>
<br>
?????????????}<br>
<br>
????????}<br>
<br>
????}<br>
}<br>
<br>
rand_fRename();??//需要更改的資料夾資料夾<br>
<br>
//隨機(jī)產(chǎn)生字串<br>
function?generate_password($length?=?8)<br>
{<br>
????header('content-type:text/html;charset=utf8');<br>
//?密碼字元集,可任意加入你需要的字元?<br>
????$chars?=?'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';<br>
????$password?=?"";<br>
????for?($i?=?0;?$i?
//?這裡提供兩種字元取得方式?<br>
//?第一種是使用?substr?截取$chars中的任一字元;?<br>
//?第二種是取字元數(shù)組?$chars?的任一元素?<br>
//?$password?.=?substr($chars,?mt_rand(0,?strlen($chars)?–?1),?1);?<br>
????????$password?.=?$chars[mt_rand(0,?strlen($chars)?-?1)];<br>
????}<br>
????return?$password;<br>
}?

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

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

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門(mén)文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話題

《Go語(yǔ)言程式設(shè)計(jì)實(shí)例:Web開(kāi)發(fā)中的程式碼範(fàn)例》隨著網(wǎng)路的快速發(fā)展,Web開(kāi)發(fā)已成為各行業(yè)中不可或缺的一部分。作為一門(mén)功能強(qiáng)大且效能優(yōu)越的程式語(yǔ)言,Go語(yǔ)言在Web開(kāi)發(fā)中越來(lái)越受到開(kāi)發(fā)者們的青睞。本文將透過(guò)具體的程式碼範(fàn)例,介紹如何利用Go語(yǔ)言進(jìn)行Web開(kāi)發(fā),讓讀者更能理解並運(yùn)用Go語(yǔ)言來(lái)建立自己的Web應(yīng)用。 1.簡(jiǎn)單的HTTP伺服器首先,讓我們從一個(gè)

華為雲(yún)端邊緣運(yùn)算對(duì)接指南:Java程式碼範(fàn)例快速實(shí)現(xiàn)介面隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展和邊緣運(yùn)算的興起,越來(lái)越多的企業(yè)開(kāi)始關(guān)注邊緣運(yùn)算的應(yīng)用。華為雲(yún)端提供了邊緣運(yùn)算服務(wù),為企業(yè)提供了高可靠的運(yùn)算資源和便利的開(kāi)發(fā)環(huán)境,使得邊緣運(yùn)算應(yīng)用更容易實(shí)現(xiàn)。本文將介紹如何透過(guò)Java程式碼快速實(shí)現(xiàn)華為雲(yún)端邊緣運(yùn)算的介面。首先,我們需要準(zhǔn)備好開(kāi)發(fā)環(huán)境。確保你已經(jīng)安裝了Java開(kāi)發(fā)工具包(

了解Python程式設(shè)計(jì)的入門(mén)程式碼範(fàn)例Python是一種簡(jiǎn)單易學(xué),功能強(qiáng)大的程式語(yǔ)言。對(duì)於初學(xué)者來(lái)說(shuō),了解Python程式設(shè)計(jì)的入門(mén)級(jí)程式碼範(fàn)例是非常重要的。本文將為您提供一些具體的程式碼範(fàn)例,幫助您快速入門(mén)。列印HelloWorldprint("HelloWorld")這是Python中最簡(jiǎn)單的程式碼範(fàn)例。 print()函數(shù)用於將指定的內(nèi)容輸出

Java冒泡排序最簡(jiǎn)單的程式碼範(fàn)例冒泡排序是一種常見(jiàn)的排序演算法,它的基本想法是透過(guò)相鄰元素的比較和交換來(lái)將待排序序列逐步調(diào)整為有序序列。以下是一個(gè)簡(jiǎn)單的Java程式碼範(fàn)例,示範(fàn)如何實(shí)作冒泡排序:publicclassBubbleSort{publicstaticvoidbubbleSort(int[]arr){int

PHP變數(shù)儲(chǔ)存程式運(yùn)行期間的值,對(duì)於建立動(dòng)態(tài)且互動(dòng)的WEB應(yīng)用程式至關(guān)重要。本文將深入探討php變量,並透過(guò)10個(gè)真實(shí)的範(fàn)例展示它們的實(shí)際應(yīng)用。 1.儲(chǔ)存使用者輸入$username=$_POST["username"];$passWord=$_POST["password"];此範(fàn)例從表單提交中提取使用者名稱和密碼,並將其儲(chǔ)存在變數(shù)中以供進(jìn)一步處理。 2.設(shè)定配置值$database_host="localhost";$database_username="username";$database_pa

如何使用PHP編寫(xiě)庫(kù)存管理系統(tǒng)中的庫(kù)存分倉(cāng)管理功能碼庫(kù)存管理是許多企業(yè)中不可或缺的一部分。對(duì)於擁有多個(gè)倉(cāng)庫(kù)的企業(yè)來(lái)說(shuō),庫(kù)存分倉(cāng)管理功能尤其重要。透過(guò)合理管理和追蹤庫(kù)存,企業(yè)可以實(shí)現(xiàn)不同倉(cāng)庫(kù)之間的庫(kù)存調(diào)撥,優(yōu)化營(yíng)運(yùn)成本,改善協(xié)同效率。本文將介紹如何使用PHP編寫(xiě)庫(kù)存分倉(cāng)管理功能的程式碼,並為您提供相關(guān)的程式碼範(fàn)例。一、建立資料庫(kù)在開(kāi)始編寫(xiě)庫(kù)存分倉(cāng)管理功能的程式碼之

標(biāo)題:從入門(mén)到精通:Go語(yǔ)言中常用資料結(jié)構(gòu)的程式碼實(shí)作資料結(jié)構(gòu)在程式設(shè)計(jì)中起著至關(guān)重要的作用,它是程式設(shè)計(jì)的基礎(chǔ)。在Go語(yǔ)言中,有許多常用的資料結(jié)構(gòu),掌握這些資料結(jié)構(gòu)的實(shí)作方式對(duì)於成為優(yōu)秀的程式設(shè)計(jì)師至關(guān)重要。本文將介紹Go語(yǔ)言中常用的資料結(jié)構(gòu),並給出對(duì)應(yīng)的程式碼範(fàn)例,幫助讀者從入門(mén)到精通這些資料結(jié)構(gòu)。 1.數(shù)組(Array)數(shù)組是一種基本的資料結(jié)構(gòu),是一組相同類型

Java選擇排序法程式碼編寫(xiě)指南及範(fàn)例選擇排序是一種簡(jiǎn)單直觀的排序演算法,其想法是每次從未排序的元素中選擇最?。ɑ蜃畲螅┑脑剡M(jìn)行交換,直到所有元素排序完成。本文將提供選擇排序的程式碼編寫(xiě)指南,並附上具體的Java範(fàn)例程式碼。演算法原理選擇排序的基本原理是將待排序數(shù)組分為已排序和未排序兩部分,每次從未排序部分選擇最小(或最大)的元素,將其放到已排序部分的末尾。重複上述
