Heim  >  Artikel  >  Backend-Entwicklung  >  PHP einfache Traversal-Umbenennung

PHP einfache Traversal-Umbenennung

巴扎黑
巴扎黑Original
2016-11-24 10:34:451033Durchsuche

<?php
$path = &#39;./fzlhead/&#39;;
function get_filetree_scandir($path){
  $result = array();
  $temp = array();
  if (!is_dir($path)||!is_readable($path)) return null; //检测目录有效性
  $allfiles = scandir($path); //获取目录下所有文件与文件夹
  foreach ($allfiles as $filename) { //遍历一遍目录下的文件与文件夹
    if (in_array($filename,array(&#39;.&#39;,&#39;..&#39;))) continue; //无视 . 与 ..
    $fullname = $path.&#39;/&#39;.$filename; //得到完整文件路径
    if (is_dir($fullname)) { //是目录的话继续递归
      $result[$filename] = get_filetree_scandir($fullname); //递归开始
    }
    else {
      $temp[] = $filename; //如果是文件,就存入数组
 $uniqid = uniqid(&#39;apoo_&#39;);
      $ext = pathinfo($filename, PATHINFO_EXTENSION);
      rename($fullname,$path.&#39;/&#39;.$uniqid.&#39;.&#39;.$ext);
    }
  }
  foreach ($temp as $tmp) { //把临时数组的内容存入保存结果的数组
    $result[] = $tmp; //这样可以让文件夹排前面,文件在后面
  }
  return $result;
}
print_r(get_filetree_scandir($path));
?>

1) So zählen Sie, wie viele Dateien sich in diesem Verzeichnis befinden
2) Wie zählen Sie, wie viele PHP-Dateien sich in diesem Verzeichnis befinden
3) Wie zählen Sie, wie viele Nicht-TXT-Dateien In diesem Verzeichnis befinden sich Dateien
$arr = scandir($dir);
$all = count($arr)-2;//Die Gesamtzahl aller Dateien außer ./ und ../
$php = count(preg_grep(" /.php$/", $arr));
$txt0 = $all - count(preg_grep("/.txt$/", $arr)); 'Total'.$all.'-Dateien, PHP-Dateien '.$php.', Nicht-TXT-Dateien '.$txt0.';

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn