Heim  >  Artikel  >  php教程  >  PHP ändert rekursiv alle Dateien in einem Ordner

PHP ändert rekursiv alle Dateien in einem Ordner

WBOY
WBOYOriginal
2016-12-05 13:27:491370Durchsuche

Zwei Methoden, Zufalls- und Bedingungsmodus
<?php<br> /*<br> * Zeit: 2. Dezember 2016 17:58:36<br> * Autor: Zhang Chenyang<br> * E-Mail:lequne@126.com<br> */<br> //Generieren Sie unterschiedliche Dateinamen basierend auf den Beurteilungsbedingungen <br> Funktion fRename($dirname)<br> {<br> If (!is_dir($dirname)) {<br> echo „{$dirname} ist kein gültiges Verzeichnis!“;<br> exit();<br> }<br> $handle = opendir($dirname);<br> <br> While (($fn = readdir($handle)) !== false) {<br> If ($fn != '.' && $fn != '..') {<br> <br> echo "fn = " . $fn $curDir = $dirname . '/' <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> // Informationen zum Bild abrufen >                    $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>                                                                                                                                                                         } elseif ($w == 425 && $h == 425) {<br> $newname = '5.jpg';<br> } Sonst {<s>                       $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>                                                                                                                                                        // sterben; echo „newname after replacement:“ . „rn“;<br>                    rename($curDir, $newname);<br> // echo $ curdir .'-- '. $ Newme "& Lt; br & gt;";             }<br> <br>        }<br> <br> }<br> }<br> <br> //Diese Methode aufrufen<br> <br> //fRename('./001');<br> <br> <br> //Verwenden Sie PHP-Verzeichnis- und Dateifunktionen, um alle Dateien und Ordner im vom Benutzer angegebenen Verzeichnis zu durchsuchen und die Dateinamen nach dem Zufallsprinzip zu ändern <br> Funktion rand_fRename($dirname)<br> {<br> Header('content-type:text/html;charset=utf8');<br> If (!is_dir($dirname)) {<br> echo „{$dirname} ist kein gültiges Verzeichnis!“;<br> exit();<br> }<br> $handle = opendir($dirname);<br> <br> While (($fn = readdir($handle)) !== false) {<br> if ($fn != '.' && $fn != '..') {<br> <br> echo "fn = " . $fn $curDir = $dirname . '/' <br> echo "curDir = " . $curDir . "rn";<br> If (is_dir($curDir)) {<br> ​​​​​​​​ <br>                                // var_dump($new);die;<br> <br>                     $newname = str_replace($fn, $new, $curDir);<br>                 var_dump($newname);<br>                                                                                                                                                                                                                               .                                                          rand_fRename($newname);<br>             }<br>        sonst{<br> <br>                    $path = pathinfo($curDir);<br>                           //var_dump($path);//die;<br>                          //$newname = $path['dirname'].'/'.rand(0,100).'.'.$path['extension'];<br>                                                                                                                                                                                                                                              //123[1]// Informationen zum Bild abrufen >                       $img_info=getimagesize($curDir);<br>                             // var_dump($img_info);<br> <br>                       $w=$img_info[0];<br>                      $h=$img_info[1];<br> <br> // Verhindere doppelte, zufällig generierte Dateinamen <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>                                                                                                                 echo „newname after replacement:“.$newname.“rn“;<br>                                                                                                                                                                                                                                                     . <br>              }<br> <br>        }<br> <br> }<br> }<br> <br> rand_fRename(); //Ordner, der geändert werden muss <br> <br> //String zufällig generieren<br> Funktion generic_password($length = 8)<br> {<br> Header('content-type:text/html;charset=utf8');<br> // Passwort-Zeichensatz, Sie können alle benötigten Zeichen hinzufügen <br> $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';<br> $password = "";<br> for ($i = 0; $i < $length; $i++) {<br> // Hier gibt es zwei Möglichkeiten, Zeichen zu erhalten <br> // Die erste besteht darin, substr zu verwenden, um jedes Zeichen in $chars <br> abzufangen //Die zweite besteht darin, ein beliebiges Element des Zeichenarrays $chars <br> zu übernehmen // $password .= substr($chars, mt_rand(0, strlen($chars) – 1), 1);          $password .= $chars[mt_rand(0, strlen($chars) - 1)];<br> }<br> Geben Sie $password;<br> zurück } <br> <br><br><br></s>

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