文件的基本操作
先來看一下PHP文件基礎操作,請看強大注釋
<body> <?php var_dump(filetype("./img/11.png")); //判斷返回得是文件還是目錄,返回sile為文件,dir為目錄(文件夾) var_dump(is_dir("./img/11.png")); //判斷給的文件是不是一個目錄,目錄為ture,文件為false var_dump(is_file("./img")); //判斷是否為文件,同上 var_dump(date("Y-m-d H:i:s",fileatime("./img/11.png"))); //上次訪問時間 var_dump(date("Y-m-d H:i:s",filectime("./img/11.png"))); //創建時間 var_dump(date("Y-m-d H:i:s",filemtime("./img/11.png"))); //修改時間 var_dump(filesize("./img/11.png")); //獲取文件大小 var_dump(file_exists("/QQPCMgr/www/wenjian/img/22.png")); //在php里面根/則是磁盤 echo $_SERVER['DOCUMENT_ROOT']; //獲取到服務器根路徑 echo basename("/QQPCMgr/www/wenjian/img/22.png"); //返回22.png帶后綴的文件名 echo basename("/QQPCMgr/www/wenjian/img/22.png",".png"); //扔上后綴之后只顯示文件名(獲取文件名) echo dirname("/QQPCMgr/www/wenjian/img/22.png"); //返回的是不包含文件名的路徑(獲取文件名以上的) var_dump(pathinfo("/QQPCMgr/www/wenjian/img/22.png")); //這個獲取的很全面,都能獲取到 echo realpath("./img/11.png"); //真實路徑:可以把相對路徑轉換為絕對路徑 var_dump(glob("./ce/*")); //取到這個文件夾里所有的文件,加后綴為條件 ?> <!--<img src="/wenjian/img/11.png" />--> <!--在網頁里根/代表的是www目錄--> </body>
文件整體操作:
<?php //touch("./11.txt"); //創建文件 //copy("11.txt","./ce/11.txt"); //復制文件 //unlink("./11.txt"); //刪除文件 //echo file_get_contents("./ce/11.txt");本地 //echo file_get_contents("http://www.baidu.com");遠程 //讀取文件所有內容 //file_put_contents("./11.txt","Myshao"); //往文件里面存儲內容 //readfile("./11.txt"); //讀取并輸出 //$arr = file("./shouye.php"); //var_dump($arr); //讀取文件內所有內容,并扔到數組顯示 //$ff = fopen("./11.txt","a"); //打開文件資源,詳情見注1; //echo fgetc($ff); //讀取一個字符 //echo fgets($ff); //讀取一行字符 //echo fread($ff,2); //規定讀多長 //fwrite($ff,"shao"); //寫入內容
注1:打開和讀取文件
php使用fopen()函數的方式,語法結構如下
Resource fopen (string $filename,string $mode)
Filename是目標文件名,打開本地文件也可以打開遠程文件,打開遠程文件需要采用http://...形式,假如目標文件在
ftp服務器上,則采用形式ftp://...。
參數mode是目標文件打開形式,參數$mode是可以接收的模式。
文件打開方式表:
目錄資源的打開與關閉:但凡有開就有關,否則會影響到后面的刪除等操作;
<?php $fname = "./ce/gf"; $d = opendir($fname); //打開文件資源 while ($url = readdir($d)) { echo $fname."/".$url."<br/>"; // 僅讀取文件名,把路徑拼上=完整路徑 } var_dump(glob("./*")); closedir($d); //關資源
以上就是一些基礎的語句了,來做點練習:
例:返回一個文件夾下的所有文件數量;
如果想要計算出ajax目錄下有多少的文件,可以用下面封裝的方法shu()來遍歷目錄,可以計算出ce目錄下其他的文件夾里面的文件的總和,
<?php function shu($url) { $sl = 0; $arr = glob($url); //循環遍歷 foreach($arr as $v) { //判斷是不是一個文件 if(is_file($v)) { //如果是一個文件+1 $sl++; } else { $sl +=shu($v."/*"); } } return $sl; } echo shu("./ce/*"); //最后給方法一個路徑進行查找 ?>
看一下輸出:
再來一個!
例:刪除文件
<?php $fname = "./ce/gf"; $d = opendir($fname); //打開文件資源 while ($url = readdir($d)) { echo $fname."/".$url."<br/>"; // 僅讀取文件名,把路徑拼上=完整路徑 } var_dump(glob("./*")); closedir($d); //關資源 //刪除文件夾(非空文件夾) function shan($url) { // 清空文件夾 $d = opendir($url); // 打開 while ($u = readdir($d))//$u現在是文件名 { // 排除... if($u!="." && $u!="..") { $fname = $url . "/" . $u; //完整帶路徑的文件名 if (is_file($fname))//如果是一個文件 { unlink($fname); } else //如果是一個文件夾 { shan($fname); } } } closedir($d); //關閉 rmdir($url); } shan("./122"); ?>
這樣122目錄里面所有的東西,不管是文件夾還是文件都會被刪除;
實現文件管理功能
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。