>  기사  >  php教程  >  PHP는 폴더 아래의 모든 파일을 재귀적으로 변경합니다.

PHP는 폴더 아래의 모든 파일을 재귀적으로 변경합니다.

WBOY
WBOY원래의
2016-12-05 13:27:491370검색

두 가지 방법, 무작위 모드와 조건부 모드
<?php <br /> /*<br> * 시간 : 2016년 12월 2일 17:58:36<br> * 저자 : 장첸양<br> * 이메일:lequne@126.com<br> */<br> //판정 조건에 따라 파일명을 다르게 생성 <br> 함수 fRename($dirname)<br> {<br> If (!is_dir($dirname)) {<br> echo "{$dirname}은(는) 유효한 디렉터리가 아닙니다!";<br> 종료();<br> }<br> $handle = opendir($dirname);<br> <br> while (($fn = readdir($handle)) !== false) {<br> If ($fn != '.' && $fn != '..') {<br> <br> 에코 "fn = " . $fn";<br> $curDir = $dir이름 .'/' $fn;<br> <br> echo "curDir = " . $curDir .<br> If (is_dir($curDir)) {<br>                        fRename($curDir);<br>                                                           그 외 {<br> <br>                   $path = pathinfo($curDir);<br>                       //var_dump($path);//die;<br>                      //$newname = $path['dirname'].'/'.rand(0,100).'.'.$path['extension'];<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> >                                                                      } elseif ($w == 425 && $h == 425) {<br> $newname = '5.jpg';<br> } 그렇지 않으면 {<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> ~                                    // 죽는다; echo "교체 후 새 이름:" . $newname .<br> ~ ~        . // echo $ curdir .'-- $ Newme. "& Lt; br & gt;";             }<br> <br>         }<br> <br> }<br> }<br> <br> //이 메소드 호출<br> <br> //f이름 바꾸기('./001');<br> <br> <br> //PHP 디렉터리 및 파일 함수를 사용하여 사용자가 지정한 디렉터리의 모든 파일과 폴더를 탐색하고 파일 이름을 무작위로 수정합니다. <br> 함수 rand_fRename($dirname)<br> {<br> 헤더('content-type:text/html;charset=utf8');<br> If (!is_dir($dirname)) {<br> echo "{$dirname}은(는) 유효한 디렉터리가 아닙니다!";<br> 종료();<br> }<br> $handle = opendir($dirname);<br> <br> while (($fn = readdir($handle)) !== false) {<br> if ($fn != '.' && $fn != '..') {<br> <br> 에코 "fn = " . $fn";<br> $curDir = $dir이름 .'/' $fn;<br> <br> echo "curDir = " . $curDir .<br> If (is_dir($curDir)) {<br> ​​​​​​​​ <br>                                  // var_dump($new);die;<br> <br>                    $newname = str_replace($fn, $new, $curDir);<br>                 var_dump($newname);<br> ~                                                                                                >             }<br>        그 외{<br> <br>                    $path = pathinfo($curDir);<br>                          //var_dump($path);//die;<br>                         //$newname = $path['dirname'].'/'.rand(0,100).'.'.$path['extension'];<br> ~ ~         //123[1]// 사진의 정보를 가져옵니다 >                      $img_info=getimagesize($curDir);<br>                            // var_dump($img_info);<br> <br>                      $w=$img_info[0];<br>                      $h=$img_info[1];<br> <br> // 중복된 무작위 생성 파일 이름 방지 <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."rn";<br>                     이름 바꾸기($curDir,$newname);<br> <br>              }<br> <br>         }<br> <br> }<br> }<br> <br> rand_fRename(); //변경이 필요한 폴더 <br> <br> //문자열을 무작위로 생성<br> 함수 generate_password($length = 8)<br> {<br> 헤더('content-type:text/html;charset=utf8');<br> //비밀번호 문자 집합, 필요한 문자를 추가할 수 있습니다 <br> $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';<br> $password = "";<br> for ($i = 0; $i < $length; $i++) {<br> // 여기서 캐릭터를 얻는 방법은 두 가지가 있습니다 <br> // 첫 번째는 $chars의 모든 문자를 가로채기 위해 substr을 사용하는 것입니다. <br> //두 번째는 문자 배열 $chars <br>의 요소를 취하는 것입니다. // $password .= substr($chars, mt_rand(0, strlen($chars) – 1), 1);          $password .= $chars[mt_rand(0, strlen($chars) - 1)];<br> }<br> $password 반환;<br> } <br> <br><br></s>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.