在这里我们利用一个战地自己写的一个例子来具体分析一下利用PHP批量修改文件名称的思路和注意事项。
从这个例子里你将会看到,PHP如何判断一个路径是不是目录,如何用PHP取得路径中的文件名称和文件的扩展名,随机函数rand的基本应用,以及这个程序的核心内容递归函数的基本应用。
程序功能:利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称;
首先判断用户给出的目录是不是一个合法目录;
我们这里只是修改狭义的文件名称(不包括目录),所以在程序中一定要判断是不是目录,如果是目录我们就打开这个目录——从而实现遍历目录下的所有文件。如果不是我们就用一个随机的名称修改原来的文件名(用随机数做名称其实不科学,但是这不是我们的重点)。
具体的程序如下:
<?php
//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称
function fRename($dirname){
if(!is_dir($dirname)){
echo "{$dirname}不是一个有效的目录!";
exit();
}
$handle = opendir($dirname);
while(($fn = readdir($handle))!==false){
if($fn!='.'&&$fn!='..'){
$curDir = $dirname.'/'.$fn;
if(is_dir($curDir)){
fRename($curDir);
}
else{
$path = pathinfo($curDir);
$newname = $path['dirname'].'/'.rand(0,100).'.'.$path['extension'];
rename($curDir,$newname);
echo $curDir.'---'.$newname."<br>";
}
}
}
}
//给出一个目录名称调用函数
fRename('pl');
?>
从这个例子里你将会看到,PHP如何判断一个路径是不是目录,如何用PHP取得路径中的文件名称和文件的扩展名,随机函数rand的基本应用,以及这个程序的核心内容递归函数的基本应用。
程序功能:利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称;
首先判断用户给出的目录是不是一个合法目录;
我们这里只是修改狭义的文件名称(不包括目录),所以在程序中一定要判断是不是目录,如果是目录我们就打开这个目录——从而实现遍历目录下的所有文件。如果不是我们就用一个随机的名称修改原来的文件名(用随机数做名称其实不科学,但是这不是我们的重点)。
具体的程序如下:
<?php
//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称
function fRename($dirname){
if(!is_dir($dirname)){
echo "{$dirname}不是一个有效的目录!";
exit();
}
$handle = opendir($dirname);
while(($fn = readdir($handle))!==false){
if($fn!='.'&&$fn!='..'){
$curDir = $dirname.'/'.$fn;
if(is_dir($curDir)){
fRename($curDir);
}
else{
$path = pathinfo($curDir);
$newname = $path['dirname'].'/'.rand(0,100).'.'.$path['extension'];
rename($curDir,$newname);
echo $curDir.'---'.$newname."<br>";
}
}
}
}
//给出一个目录名称调用函数
fRename('pl');
?>