php部分--檔案操作

來源:互聯網
上載者:User

標籤:path   方法   ceshi   world   each   closed   log   檔案屬性   while   

php中的檔案指的是檔案和檔案夾,不是單指檔案。1.判斷檔案(判斷是檔案還是檔案夾)找檔案,輸出結果為file,代表的是檔案。
var_dump(filetype("./aa.txt"));
找檔案夾,輸出的是dir,代表的是目錄。
var_dump(filetype("./aa"));
判斷是不是檔案,返回的是true
var_dump(is_file("./aa.txt"));
判斷是不是檔案夾,返回的是true

var_dump(is_dir("./aa"));
2.檔案屬性
擷取當前伺服器的根www
echo $_SERVER[‘DOCUMENT_ROOT‘]; 
擷取檔案上次訪問時間,返回的是時間戳記。
echo date(fileatime("./aa.txt"));
把時間戳記轉化為時間。
echo date("Y-m-d h:i:s",fileatime("./aa.txt"))
擷取檔案建立時間
echo date("Y-m-d h:i:s",filectime("./aa.txt"));
擷取檔案修改時間
echo date("Y-m-d h:i:s",filemtime("./aa.txt"));//
返迴文件的大小,單位是位元組b。
echo filesize("aa.txt");
判斷檔案是否存在,存在返回true,不存在返回flase。
var_dump(file_exists("aa.txt"));
3.檔案路徑./代表當前路徑 ../代表上級路徑在頁面指文檔根,在php裡面的根代表是磁碟目錄,網頁裡面/也是代表根,是www目錄。返回D:/wamp/www/,取的是伺服器的根。
echo $_SERVER[‘DOCUMENT_ROOT‘];
返回index.php,返回的是檔案名稱。
echo basename("/wamp/www/index.php");
返回index,返回的只是檔案名稱。
echo basename("/wamp/www/index.php",".php");
返回/wamp/www,只是擷取目錄。
echo dirname("/wamp/www/index.php");
返回數組,裡面是檔案存在的目錄、檔案名稱、檔案格式等資訊。
var_dump(pathinfo("/wamp/www/index.php"));
返回D:\wamp\www\wenjiancaozuo\aa.txt,把相對路徑轉化為絕對路徑。
echo realpath("./aa.txt");
4.目錄操作建立目錄
mkdir("./bb");
刪除目錄,只能刪除空檔案夾。檔案夾裡有內容是不能刪除的,會報錯。
rmdir("bb");
移動檔案夾,實際上是把檔案重新命名位置。
rename("./cc","./aa/cc");
移動的同時可以變更檔名。
rename("./cc","./aa/dd");
5.遍曆目錄**遍曆租房檔案夾下所有的檔案,相當於未按裡面的額搜尋。
var_dump(glob("./zufang/*"));
遍曆檔案格式為php的檔案
var_dump(glob("./zufang/*.php"));
開啟目錄資源,開啟以後一定要記得關閉。
$dir = opendir("./zufang");
返回.  .代表目前的目錄
echo readdir();
返回..  ..代表上級目錄
echo readdir();
返回第一個檔案
echo readdir();
返回第二個檔案
echo readdir();
//遍曆出所有的檔案,檔案夾也可以讀取。
 while($f = readdir($dir)) {    echo $f;}
關閉目錄資源
closedir($dir);//
例題1:方法1:給一個檔案夾,讀取檔案夾裡面檔案的數量
echo ShuLiang("./zufang");function ShuLiang($filename){     $sum = 0;    $dir = opendir($filename);   while($f = readdir($dir))     {        if($f=="." || $f=="..")//如果遍曆出的是.或者..,什麼也不執行.       {                     }        else       {            $lujing = $filename."/".$f;            if(is_file($lujing))           {               $sum++;            }             else             {                $sum = $sum+ShuLiang($lujing);             }         }    }    closedir($dir);    return $sum; }

例題1:方法2:該方法用來擷取指定檔案夾下檔案的數量

function ShuLiang($filename){$attr = glob($filename."/*");$n = count($attr);foreach($attr as $v){if(is_dir($v)){$n = $n+ShuLiang($v);}}    return $n;}echo ShuLiang("./0904");

例題2:擷取某一個目錄下所有檔案的大小

function Fsize($fname){$size = 0;$dir = opendir($fname);//遍曆目錄,找到檔案,累加大小while($u = readdir($dir)){if($u=="." || $u==".."){}else{$zfname = $fname."/".$u;if(is_file($zfname)){$size += filesize($zfname);}}}//找到子目錄,擷取子目錄下檔案大小rewinddir($dir);while($u = readdir($dir)){if($u=="." || $u==".."){}else{$zfname = $fname."/".$u;if(is_dir($zfname)){$size += Fsize($zfname);}}}closedir($dir);return $size;}echo Fsize("./0904");

 

6.檔案操作(1)檔案整體操作建立檔案
touch("./cc.txt");
賦值檔案,第一個參數是要複製的檔案,第二個是把檔案複製到哪裡。
copy("./cc.txt","./aa/cc.txt");//
刪除檔案
unlink("./cc.txt");//
讀取檔案內容只能讀取txt、html、php等,word、wxcle文檔不能讀取。
echo file_get_contents("./aa.txt");//
這個方法比較重要,可以從網上抓取資料,用Regex匹配。
echo file_get_contents("http://www.baidu.com");//
往檔案裡寫內容,寫的內容會覆蓋原來的內容。
file_put_contents("./aa.txt","hello");//
修改往網頁裡面的內容
file_put_contents("./ceshi.php","hello");//
擷取並且輸出,前面沒有寫輸出。 file_get_contents需要寫輸出echo。
readfile("http://www.baidu.com");//
把網頁的代碼一行一行的顯示出來。
var_dump(file("http://www.baidu.com"));//
第一個參數是開啟的檔案,第二個是開啟的方式,方式具體可以查看php手冊。
$f = fopen("./aa.txt","r");//
aa.txt的內容是hello。這裡返回的是h
echo fgetc($f);//
返回e
echo fgetc($f);//
返回l
echo fgetc($f);//
....fgetc()是一次讀一個一次讀一行
echo fgets($f);
讀取的長度,這裡是讀取2個長度,返回he。
 echo fread($f,2);
檔案開啟以後一定要關上,如果不關是不能進行別的操作的。*/
 fclose($f);
a方式是追加
$f = fopen("./aa.txt","a");
把world寫在hello後面
 fwrite($f,"world");
 fclose($f);
給一個檔案夾,刪除該檔案夾
ShanChu("./zufang");function ShanChu($filename){   if(is_dir($filename))//判斷是檔案   {        $dir = opendir($filename);//開啟檔案夾               while($f = readdir($dir))//遍曆出檔案夾裡所有的內容       {           if($d=="." || $d=="..")//去掉.和..            {                         }            else//操作不是.和..的內容         {                $fname = $filename."/".$f;//找到遍曆出的內容,拼出來的格式類似wamp/zufang                if(is_file($fname))//如果是檔案              {                    unlink($fname);                }              else//如果是檔案夾               {                    ShanChu($fname);//再調用ShanChu方法,刪除的檔案夾變了。                }          }        }       closedir($dir);//關閉檔案夾       rmdir($filename);//把檔案夾裡的內容都刪除以後,刪除檔案夾   }     else//如果是空檔案夾    {         unlink($filename);//刪除該空檔案夾     } }

 


php部分--檔案操作

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.