《PHP編程最快明白》第五講:php目錄、文件操作
來源:易賢網(wǎng) 閱讀:763 次 日期:2014-05-18 14:40:32
溫馨提示:易賢網(wǎng)小編為您整理了“《PHP編程最快明白》第五講:php目錄、文件操作”,方便廣大網(wǎng)友查閱!

PHP的目錄、文件操作是很簡單的,本章用的是windows的服務(wù)器,目錄名為GBK編碼,文件內(nèi)容為UTF-8編碼。這樣一目了然。

實例15目錄創(chuàng)建、刪除

代碼如下:

<?php

$dirfile="文件夾";

$dirfile=iconv("UTF-8","GB2312",$dirfile);//轉(zhuǎn)碼,否則會看到windows里面是亂碼,但程序能正常操作,讀取目錄時反過來才看到目錄的真正名字。

if(!file_exists($dirfile))//用于判斷目錄或文件是否存在

mkdir($dirfile);//創(chuàng)建目錄

rmdir($dirfile);//刪除目錄,必須為空目錄,否則要先刪除里面的所有文件,后面有刪除方法

echo"<br>";

?>

實例16文件創(chuàng)建、刪除、讀取、轉(zhuǎn)數(shù)組

代碼如下:

<?php

$filename="文件.txt";

$filename=iconv("UTF-8","GB2312",$filename);//轉(zhuǎn)碼,否則會看到windows里面是亂碼

file_put_contents($filename,'');//自動創(chuàng)建空文件,如果已存在則刪除再創(chuàng)建,具體可以增加file_exists判斷,比fopen、fputs、fclose等函數(shù)簡單。

unlink($filename);//注意文件名都是GB2312編碼

file_put_contents($filename,"大家好!\r\n大家好啊!",FILE_APPEND);

//看到?jīng)],寫入兩行,第三個參數(shù)可選,表示是以增加方式寫入,否則清空內(nèi)容再寫入

echofile_get_contents($filename);//忽略換行讀取整個文件

echo"<br>";

$arr=file($filename);//文件按行讀到數(shù)組里

print_r($arr);

echo"<br>";

readfile($filename);//文件直接輸出到屏幕

echo"<br>";

?>

實例17獲取url信息、客戶端ip地址

代碼如下:

<?php

//獲取域名或主機地址

echo$_SERVER['HTTP_HOST']."<br>";

//獲取網(wǎng)頁地址(中間部分)

echo$_SERVER['PHP_SELF']."<br>";

//獲取網(wǎng)址參數(shù)(?后面部分)

echo$_SERVER["QUERY_STRING"]."<br>";

//來源客戶端ip地址

if($_SERVER['HTTP_CLIENT_IP']){

$onlineip=$_SERVER['HTTP_CLIENT_IP'];

}elseif($_SERVER['HTTP_X_FORWARDED_FOR']){

$onlineip=$_SERVER['HTTP_X_FORWARDED_FOR'];

}else{

$onlineip=$_SERVER['REMOTE_ADDR'];

}

echo$onlineip;

echo"<br>";

?>

實例18獲取文件修改時間戳、遍歷目錄文件。

代碼如下:

<?php

$filename="文件.txt";

$filename=iconv("UTF-8","GB2312",$filename);

$passtime=time()-filectime($filename);//創(chuàng)建時間差,不準,一般不用

echo$passtime;

echo"<br>";

$passtime=time()-filemtime($filename);//修改時間差,用于更新判斷,緩沖等判斷

echo$passtime;

echo"<br>";

$dir="../";

print_r($arr=scandir($dir));//獲得主目錄的所有文件和文件夾名稱

foreach($arras$value){

if(!is_dir($dir.$value))//是否目錄,目錄還包括"."、".."兩個數(shù)組,通過判斷可以知道是文件還是目錄,以及是什么類型的后序名

echoiconv("GB2312","UTF-8",$value)."<br>\r\n";

}

?>

實例19文件包含

代碼如下:

<?php

$filename="文件.txt";

@include($filename);//包含到此處,然后由服務(wù)器處理成html代碼。

/*

@表示讀取不了時忽略錯誤警告,用于PHP語句、函數(shù)前,一般服務(wù)器端顯示錯誤是關(guān)閉的,但是個別例外。除此之外,大家還可以try-catch捕捉異常,或者用file_exists函數(shù)先判斷文件是否存在。

*/

require_once($filename);//預(yù)處理包含,一般用于配置、函數(shù)等包含進來。這兩個函數(shù)都可以選擇_once,強調(diào)包含一次。

//這四個函數(shù)都會被服務(wù)器處理PHP代碼,簡化重復的代碼,很常用。實例15的readfile則直接當html輸出到客戶頁面

?>

可以看出,PHP操作文件目錄的函數(shù)是比較簡單和強大的,一個功能也就一行代碼搞定。本章沒有介紹copy函數(shù),大家可以自己試試。

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)