PHP递归根据分辨率更改文件夹下面的所有文件名字
2016-12-02 18:00
387 查看
<?php/* * time:2016年12月2日17:58:36 * author:张晨阳 * email:lequne@126.com *///根据判断条件生成不同的文件名function fRename($dirname){ if (!is_dir($dirname)) { echo "{$dirname}不是一个有效的目录!"; exit(); } $handle = opendir($dirname); while (($fn = readdir($handle)) !== false) { if
($fn != '.' && $fn != '..') { echo "fn = " . $fn . "\n\r"; $curDir = $dirname . '/' . $fn; echo "curDir = " . $curDir . "\r\n"; if (is_dir($curDir)) { fRename($curDir); } else { $path = pathinfo($curDir); //var_dump($path);//die; //$newname = $path['dirname'].'/'.rand(0,100).'.'.$path['extension'];
//得到图片的信息 $img_info = getimagesize($curDir); $w = $img_info[0]; $h = $img_info[1]; // var_dump($w); if ($w == 210 && $h == 210) { $newname = '1.jpg'; } elseif ($w == 720 && $h == 268) { $newname = '2.jpg'; } elseif ($w == 298 && $h == 198) { $newname = '3.jpg';
} elseif ($w == 338 && $h == 365) { $newname = '4.jpg'; } elseif ($w == 425 && $h == 425) { $newname = '5.jpg'; } else { $newname = $fn; } //$new=rand(10,100000000000); //$n=$new.'.jpg'; //$newname1='.jpg'; var_dump($curDir); $newname = str_replace($fn, $newname,
$curDir); var_dump($newname); // die; echo "替换之后的newname:" . $newname . "\r\n"; rename($curDir, $newname); // echo $curDir.'---'.$newname."
"; } } }}//调用该方法//fRename('./001');//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称随机function rand_fRename($dirname){ header('content-type:text/html;charset=utf8'); if (!is_dir($dirname)) { echo "{$dirname}不是一个有效的目录!"; exit(); } $handle = opendir($dirname); while (($fn
= readdir($handle)) !== false) { if ($fn != '.' && $fn != '..') { echo "fn = " . $fn . "\n\r"; $curDir = $dirname . '/' . $fn; echo "curDir = " . $curDir . "\r\n"; if (is_dir($curDir)) { $new = generate_password(); // var_dump($new);die; $newname = str_replace($fn,
$new, $curDir); var_dump($newname); rename($curDir, $newname); rand_fRename($newname); } else{ $path = pathinfo($curDir); //var_dump($path);//die; //$newname = $path['dirname'].'/'.rand(0,100).'.'.$path['extension']; //123[1] 123 //得到图片的信息 $img_info=getimagesize($curDir);
// var_dump($img_info); $w=$img_info[0]; $h=$img_info[1]; //防止出现重复随机生成文件名字 $new=rand(10,100000000000); $n=$new.'.jpg'; //$newname1='.jpg'; var_dump($curDir); $newname = str_replace($fn,$n,$curDir); var_dump($newname); // die; echo "替换之后的newname:".$newname."\r\n";
rename($curDir,$newname); } } }}rand_fRename('./img400'); //需要更改的文件夹文件夹//随机生成字符串function generate_password($length = 8){ header('content-type:text/html;charset=utf8');// 密码字符集,可任意添加你需要的字符 $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $password
= ""; for ($i = 0; $i < $length; $i++) {// 这里提供两种字符获取方式 // 第一种是使用 substr 截取$chars中的任意一位字符; // 第二种是取字符数组 $chars 的任意元素 // $password .= substr($chars, mt_rand(0, strlen($chars) – 1), 1); $password .= $chars[mt_rand(0, strlen($chars) - 1)]; } return $password;}
($fn != '.' && $fn != '..') { echo "fn = " . $fn . "\n\r"; $curDir = $dirname . '/' . $fn; echo "curDir = " . $curDir . "\r\n"; if (is_dir($curDir)) { fRename($curDir); } else { $path = pathinfo($curDir); //var_dump($path);//die; //$newname = $path['dirname'].'/'.rand(0,100).'.'.$path['extension'];
//得到图片的信息 $img_info = getimagesize($curDir); $w = $img_info[0]; $h = $img_info[1]; // var_dump($w); if ($w == 210 && $h == 210) { $newname = '1.jpg'; } elseif ($w == 720 && $h == 268) { $newname = '2.jpg'; } elseif ($w == 298 && $h == 198) { $newname = '3.jpg';
} elseif ($w == 338 && $h == 365) { $newname = '4.jpg'; } elseif ($w == 425 && $h == 425) { $newname = '5.jpg'; } else { $newname = $fn; } //$new=rand(10,100000000000); //$n=$new.'.jpg'; //$newname1='.jpg'; var_dump($curDir); $newname = str_replace($fn, $newname,
$curDir); var_dump($newname); // die; echo "替换之后的newname:" . $newname . "\r\n"; rename($curDir, $newname); // echo $curDir.'---'.$newname."
"; } } }}//调用该方法//fRename('./001');//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称随机function rand_fRename($dirname){ header('content-type:text/html;charset=utf8'); if (!is_dir($dirname)) { echo "{$dirname}不是一个有效的目录!"; exit(); } $handle = opendir($dirname); while (($fn
= readdir($handle)) !== false) { if ($fn != '.' && $fn != '..') { echo "fn = " . $fn . "\n\r"; $curDir = $dirname . '/' . $fn; echo "curDir = " . $curDir . "\r\n"; if (is_dir($curDir)) { $new = generate_password(); // var_dump($new);die; $newname = str_replace($fn,
$new, $curDir); var_dump($newname); rename($curDir, $newname); rand_fRename($newname); } else{ $path = pathinfo($curDir); //var_dump($path);//die; //$newname = $path['dirname'].'/'.rand(0,100).'.'.$path['extension']; //123[1] 123 //得到图片的信息 $img_info=getimagesize($curDir);
// var_dump($img_info); $w=$img_info[0]; $h=$img_info[1]; //防止出现重复随机生成文件名字 $new=rand(10,100000000000); $n=$new.'.jpg'; //$newname1='.jpg'; var_dump($curDir); $newname = str_replace($fn,$n,$curDir); var_dump($newname); // die; echo "替换之后的newname:".$newname."\r\n";
rename($curDir,$newname); } } }}rand_fRename('./img400'); //需要更改的文件夹文件夹//随机生成字符串function generate_password($length = 8){ header('content-type:text/html;charset=utf8');// 密码字符集,可任意添加你需要的字符 $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $password
= ""; for ($i = 0; $i < $length; $i++) {// 这里提供两种字符获取方式 // 第一种是使用 substr 截取$chars中的任意一位字符; // 第二种是取字符数组 $chars 的任意元素 // $password .= substr($chars, mt_rand(0, strlen($chars) – 1), 1); $password .= $chars[mt_rand(0, strlen($chars) - 1)]; } return $password;}
相关文章推荐
- PHP遍历文件夹及子文件夹所有文件(此外还有飞递归的方法)
- (java)获取某文件夹下面所有的指定类型的文件名称,并根据情况返回可用的名称
- 递归删除文件夹下面所有子文件夹中的.pyc后缀文件
- php递归遍历出文件夹下的所有文件和删除文件夹下的所有文件
- 递归删除某个文件夹下面的所有文件和文件夹
- 递归打开一个文件夹所有下面的文件|软件开发掌握
- php遍历文件夹下面的所有文件,得到文件路径
- 递归方式遍历文件夹下的所有文件及子文件夹 [php]
- 扫描一个目录下的所有文件,根据这些文件的创建日期生成一个文件夹,然后把这些文件移入这个文件夹下面
- windows下读取一个文件夹下面所有文件的名字
- 循环遍历某个文件夹下面的所有文件,递归方法
- python根据文件更改日期删除指定文件夹下面文件
- PHP复制文件夹及下面所有文件
- 递归打开一个文件夹所有下面的文件|软件开发掌握
- php复制文件 ,PHP复制文件夹下面所有文件
- PHP封装一个遍历文件夹下面得所有的文件的类
- 【转载】windows 递归遍历一个文件夹下面的所有文件
- 递归遍历一个文件夹下面的所有文件
- java扫描文件夹下面的所有文件(递归与非递归实现)
- 计算某个文件夹下的所有文件或根据一个或多个后缀名计算文件数或去掉某个或多个后缀名计算文件数