本文實(shí)例總結(jié)了PHP目錄與文件操作技巧。分享給大家供大家參考,具體如下:
Demo1.php
<?php //將一個(gè)路徑賦給一個(gè)變量 //它目前來說,只是一個(gè)字符串,字符串表示的是一個(gè)目錄的路徑 //文件名包含,文件的名稱 + 文件的擴(kuò)展名(就是.后面的文件類型) //文件的擴(kuò)展名說白了就是文件后綴 $path = 'C:/AppServ/www/Basic6/Demo1.php';// echo basename($path);// echo '<br/>';// //dirname -- 返回路徑中的目錄部分// //dirname 返回路徑的目錄部分// echo dirname($path);// echo '<br/>';// //獲取路徑文件的信息// print_r(pathinfo($path)); $array_path = pathinfo($path); echo $array_path['dirname']; //這個(gè)打印出的目錄 C:/AppServ/www/Basic6 echo $array_path['basename']; //這個(gè)打印出的是文件名 Demo1.php?>
Demo2.php
<?php //這個(gè)叫做絕對路徑 //$path = 'C:/AppServ/www/Basic6/Demo2.php'; //這個(gè)叫做相對路徑// $path = 'Demo2.php';// echo $path; $path = '../index.php'; //這也是相對路徑 echo realpath($path);?>
Demo3.php
<?php $path = 'C:/AppServ/www/Basic6/Demo3.php'; echo round(filesize($path)/1024,2).'KB';?>
Demo4.php
<?php //可用空間的查看 disk_free_space echo round(disk_free_space('C:')/1024/1024/1024,2).'GB'; echo '<br/>'; //總空間 echo round(disk_total_space('C:')/1024/1024/1024,2).'GB';?>Demo5.php
<?php $path = 'C:/AppServ/www/Basic1/Demo1.php'; //我們要做的是將這個(gè)時(shí)間戳翻譯成正常的日期 //echo fileatime($path); //調(diào)整一下時(shí)區(qū) date_default_timezone_set('Asia/Shanghai'); //格式化一個(gè)本地日期 //echo date('Y-m-d H:i:s'); //fileatime -- 取得文件的上次訪問時(shí)間 echo '最后訪問:'.date('Y-m-d H:i:s',fileatime($path)).'<br/>'; //filectime -- 取得文件的 inode 修改時(shí)間,文件所有者,權(quán)限 echo '權(quán)限所有者等:'.date('Y-m-d H:i:s',filectime($path)).'<br/>'; //filemtime -- 取得文件修改時(shí)間,文件里面的內(nèi)容修改后的時(shí)間 echo '內(nèi)容修改時(shí)間:'.date('Y-m-d H:i:s',filemtime($path));?>Demo6.php
<?php //打開一個(gè)文件 //第一參數(shù)表明哪個(gè)文件 ,第二參數(shù)表明模式, w 只寫 //w 如果,file.txt 已經(jīng)有了,并且有數(shù)據(jù)了。那么這個(gè)文件,重新創(chuàng)建 //如果沒有 file.txt 這個(gè)文件,那么我就自行創(chuàng)建// //fopen -- 打開文件或者 URL// //fopen 返回的是資源類型 resource,我們一般稱它為句柄,或者叫資源句柄// $fp = fopen('file.txt','w');//// //想文件里寫入一些數(shù)據(jù)// //fwrite($fp,"閱誰問君誦,水落清香浮。");//// $outString = "閱誰問君誦,水落清香浮。";// echo strlen($outString);//獲取長度// fwrite($fp,$outString,strlen($outString));//// //fclose -- 關(guān)閉一個(gè)已打開的文件指針// //當(dāng)打開一個(gè)文件的時(shí)候,習(xí)慣性的將它關(guān)閉掉// fclose($fp); //就只有一句話,不需要任何其他靈活的事情的使用 //這個(gè)比較在行,只有在 PHP5 的版本才可以使用 file_put_contents('file2.txt','閱誰問君誦,水落清香浮。');?>Demo7.php
<?php //第一種寫法 ///r/n 可以讓文本文件換行 $fp = fopen('file.txt','a'); $outString = "閱誰問君誦,/r/n水落清香浮。/r/n"; fwrite($fp,$outString,strlen($outString)); fclose($fp); //第二種寫法// file_put_contents('file2.txt','閱誰問君誦,/r/n水落清香浮。');?>Demo8.php
<?php //現(xiàn)在要讀出文件 $fp = fopen('file.txt','r'); //fgetc -- 從文件指針中讀取字符// echo fgetc($fp);// echo fgetc($fp);// echo fgetc($fp);// echo fgetc($fp); //閱誰 //fgets -- 從文件指針中讀取一行 //fread() 從 handle 指向的文件中讀取一行并返回長度最多為 length - 1 字節(jié)的字符串。 //echo fgets($fp,20); //可以過濾HTML //echo fgetss($fp,20); //echo fread($fp,2); //fread() 從 handle 指向的文件中讀取最多 length 個(gè)字節(jié)數(shù) //echo fread($fp,30); //fpassthru -- 輸出文件指針處的所有剩余數(shù)據(jù) //fpassthru 本身還包含了向?yàn)g覽器輸出的功能,所以不需要 echo echo fpassthru($fp); fclose($fp);?>Demo9.php
<?php //file -- 把整個(gè)文件讀入一個(gè)數(shù)組中 //file 是按照每行來分組存放在一個(gè)數(shù)組中 //print_r(file('file.txt')); //而這個(gè)打印出的是文件中的第二行。// $array_file = file('file.txt');// echo $array_file[4]; //readfile -- 輸出一個(gè)文件 //readfile 是將整個(gè)文件讀出來,readfile 本身能夠直接輸入瀏覽器,所以不需要 echo //返回值是文件字節(jié)的總長度 //echo readfile('file.txt'); //file_get_contents -- 將整個(gè)文件讀入一個(gè)字符串 //file_get_contents 可以讀入數(shù)據(jù)到緩沖區(qū),然后通過 echo 來打印 echo file_get_contents('file.txt');?>Demo10.php
<?php //現(xiàn)在要讀出文件 $fp = fopen('file.txt','r'); //feof -- 測試文件指針是否到了文件結(jié)束的位置 while (!feof($fp)){ echo fgetc($fp); } fclose($fp);?>Demo11.php
<?php //比如讀取一個(gè)文件的時(shí)候,你必須保證這個(gè)文件一定要存在,才可以操作 //否則就報(bào)錯(cuò),不讓執(zhí)行 //這個(gè)時(shí)候就有必須做一個(gè)檢測 //file_exists -- 檢查文件或目錄是否存在 if(file_exists('file.txt')){ echo '執(zhí)行各種各樣的文本讀寫操作!'; }else{ echo '此本文不存在,請管理員在后臺重新生成一下。'; }?>Demo12.php
<?php //文本大小,字節(jié) //echo filesize('file.txt'); //刪除一個(gè)文件 //unlink('a.txt'); //rewind -- 倒回文件指針的位置 //ftell -- 返回文件指針讀/寫的位置 //rewind -- 倒回文件指針的位置 //a 表示可以追加,b 表示二進(jìn)制,這樣可移植性好 //w $fp = fopen('file.txt','ab');// echo fgetc($fp);// echo fgetc($fp);// echo fgetc($fp);// echo fgetc($fp);// rewind($fp);// echo ftell($fp);// fseek($fp,20);// echo ftell($fp);// echo fgetc($fp);// echo fgetc($fp); flock($fp,LOCK_EX);//鎖定 fwrite($fp,'This is lock!'); flock($fp,LOCK_UN);//解鎖 fclose($fp);?>Demo13.php
<?php// //打開一個(gè)目錄// @$dir = opendir('C:/AppServ/www/Basic6');// //讀出目錄,使用一個(gè)循環(huán)來讀出// //readdir -- 從目錄句柄中讀取條目// //字符串如果是布爾值,就是說,字符串不為空,那么就是真,為空就是假// while (!!$file = readdir($dir)){// echo $file.'<br/>';// }// //關(guān)閉// @closedir($dir); //print_r(scandir('C:/AppServ/www/Basic6')); //刪除一個(gè)目錄// //絕對路徑的刪除目錄// rmdir('C:/AppServ/www/Basic6/delMe');// //相對路徑的刪除目錄// rmdir('delMe'); //刪除一個(gè)文件 //ssunlink('file2.txt'); //重命名,這里,目錄和文件都能改 //rename('file.txt','file2.txt');?>希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選