<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            php遞歸遍歷刪除文件的方法

            時間:2025-11-05 16:14:08 php語言

            php遞歸遍歷刪除文件的方法

              文章主要介紹了php遞歸遍歷刪除文件的方法,涉及php遍歷文件操作的相關技巧,非常具有實用價值,需要的朋友可以參考下.

              本文實例講述了php遞歸遍歷刪除文件的方法。分享給大家供大家參考。具體如下:

              這個函數稍加修改就可以變成一個遞歸文件拷貝函數

              ?

              1

              2

              3

              4

              5

             

              7

              8

              9

              10

              11

              12

              13

              14

              15

              16

              17

              18

              19

              20

              21

              22

              23

              24

              25

              26

              <?php

              function mover($src,$dst) {

              $handle=opendir($src);

              /pic/p>

              if (!is_dir($dst)) mkdir($dst,0755);

              /pic/p>

              while ($file = readdir($handle)) {

              if (($file!=".") and ($file!="..")) {

              /pic/p>

              $srcm=$src."/".$file;

              $dstm=$dst."/".$file;

              if (is_dir($srcm)) {

              /pic/p>

              mover($srcm,$dstm);

              /pic/p>

              } else {

              copy($srcm,$dstm);

              unlink($srcm);

              /pic/p>

              } /pic/p>

              }

              }

              closedir($handle);

              rmdir($src);

              }

              ?>

              希望本文所述對大家的php程序設計有所幫助。

              【拓展閱讀】

              算法原理

              如果用P表示n個元素的全排列,而Pi表示n個元素中不包含元素i的全排列,(i)Pi表示在排列Pi前面加上前綴i的排列,那么n個元素的全排列可遞歸定義為:

              ① 如果n=1,則排列P只有一個元素i;

              ② 如果n>1,則全排列P由排列(i)Pi構成;

              根據定義,可以看出如果已經生成(k-1)個元素的排列Pi,那么k個元素的排列可以在每個Pi前面加上元素i而生成。

              代碼實現

              復制代碼 代碼如下:

              function rank($base, $temp=null)

              {

              $len = strlen($base);

              if($len <= 1)

              {

              echo $temp.$base.'<br/>';

              }

              else

              {

              for($i=0; $i< $len; ++$i)

              {

              rank(substr($base, 0, $i).substr($base, $i+1, $len-$i-1), $temp.$base[$i]);

              }

              }

              }

              rank('123');

              不過,經多次測試運行結果,發現存在一個問題:若是存在相同的元素,則全排列有重復。

              例如'122'的全排列只有三種情況:'122'、'212'、'221';上面方法卻有重復。

              略修改,加個判斷重復的標志,解決了問題(代碼如下):

              復制代碼 代碼如下:

              function fsRank($base, $temp=null)

              {

              static $ret = array();

              $len = strlen($base);

              if($len <= 1)

              {

              /pic/>';

              $ret[] = $temp.$base;

              }

              else

              {

              for($i=0; $i< $len; ++$i)

              {

              $had_flag = false;

              for($j=0; $j<$i; ++$j)

              {

              if($base[$i] == $base[$j])

              {

              $had_flag = true;

              break;

              }

              }

              if($had_flag)

              {

              continue;

              }

              fsRank(substr($base, 0, $i).substr($base, $i+1, $len-$i-1), $temp.$base[$i]);

              }

              }

              return $ret;

              }

              print '<pre>';

              print_r(fsRank('122'));

              print '</pre>';

            【php遞歸遍歷刪除文件的方法】相關文章:

            php遞歸遍歷多維數組的方法09-13

            PHP遍歷目錄文件常用方法03-06

            php遞歸創建和刪除文件夾的代碼01-20

            用php自定義函數之遞歸刪除文件及目錄12-07

            PHP使用遞歸算法無限遍歷數組示例09-03

            用PHP遍歷目錄下的全部文件03-17

            php遍歷數組的方法分享07-08

            php遍歷替換目錄下文件指定內容10-05

            PHP讀取文件的正確方法11-28

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看