程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 《PHP編程最快明白》第五講:php目錄、文件操作

《PHP編程最快明白》第五講:php目錄、文件操作

編輯:關於PHP編程

實例15 目錄創建、刪除
復制代碼 代碼如下:
<?php
$dirfile="文件夾";
$dirfile=iconv("UTF-8","GB2312",$dirfile);//轉碼,否則會看到windows裡面是亂碼,但程序能正常操作,讀取目錄時反過來才看到目錄的真正名字。
if(!file_exists($dirfile))//用於判斷目錄或文件是否存在
mkdir($dirfile);//創建目錄
rmdir($dirfile);//刪除目錄,必須為空目錄,否則要先刪除裡面的所有文件,後面有刪除方法
echo "<br>";
?>

實例16 文件創建、刪除、讀取、轉數組
復制代碼 代碼如下:
<?php
$filename="文件.txt";
$filename=iconv("UTF-8","GB2312",$filename);//轉碼,否則會看到windows裡面是亂碼
file_put_contents($filename,'');//自動創建空文件,如果已存在則刪除再創建,具體可以增加file_exists判斷,比fopen、fputs、fclose等函數簡單。
unlink($filename);//注意文件名都是GB2312編碼
file_put_contents($filename,"大家好!\r\n大家好啊!",FILE_APPEND);
//看到沒,寫入兩行, 第三個參數可選,表示是以增加方式寫入,否則清空內容再寫入
echo file_get_contents($filename);//忽略換行讀取整個文件
echo "<br>";
$arr=file($filename);//文件按行讀到數組裡
print_r($arr);
echo "<br>";
readfile($filename);//文件直接輸出到屏幕
echo "<br>";
?>

實例17 獲取url信息、客戶端ip地址
復制代碼 代碼如下:
<?php
//獲取域名或主機地址
echo $_SERVER['HTTP_HOST']."<br>";
//獲取網頁地址(中間部分)
echo $_SERVER['PHP_SELF']."<br>";
//獲取網址參數(?後面部分)
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);//創建時間差,不准,一般不用
echo $passtime;
echo "<br>";
$passtime=time()-filemtime($filename);//修改時間差,用於更新判斷,緩沖等判斷
echo $passtime;
echo "<br>";
$dir="../";
print_r($arr=scandir($dir));//獲得主目錄的所有文件和文件夾名稱
foreach($arr as $value){
if (!is_dir($dir.$value)) //是否目錄,目錄還包括"."、".."兩個數組,通過判斷可以知道是文件還是目錄,以及是什麼類型的後序名
echo iconv("GB2312","UTF-8",$value)."<br>\r\n";
}
?>

實例19 文件包含
復制代碼 代碼如下:
<?php
$filename="文件.txt";
@include($filename);//包含到此處,然後由服務器處理成html代碼。
/*
@表示讀取不了時忽略錯誤警告,用於PHP語句、函數前,一般服務器端顯示錯誤是關閉的,但是個別例外。除此之外,大家還可以try-catch捕捉異常,或者用file_exists函數先判斷文件是否存在。
*/
require_once($filename);//預處理包含,一般用於配置、函數等包含進來。這兩個函數都可以選擇_once,強調包含一次。
//這四個函數都會被服務器處理PHP代碼,簡化重復的代碼,很常用。實例15的readfile則直接當html輸出到客戶頁面
?>

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved