国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

網站建設中PHP的編程8種常見文件操作

2024-05-04 21:53:10
字體:
來源:轉載
供稿:網友

 文件和目錄的操作 


PHP處理本地服務器上的文件和目錄是非常方便的,但有時候會出現權限和路徑相關的問題 

1.打開文件 

resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] ) 

$handle = fopen(filename,mode)//打開文件,返回代表此文件的資源的句柄 

文件名稱可以使用相對路徑或者絕對路徑也可以使用網絡協議模式,打開模式具有rr+ww+aa+xx+b 

在操作二進制文件時如果沒有指定 'b' 標記,可能會碰到一些奇怪的問題,包括壞掉的圖片文件以及關于 rn 字符的奇怪問題。 

為移植性考慮,強烈建議在用 fopen() 打開文件時總是使用 'b' 標記。 

以下是幾種打開文件的方式 

$fp = @fopen('log.txt',"rb"); 

$fp = @fopen('../log.txt',"rb"); 

$fp = @fopen("http://www.runer.com.cn/default.htm","rb");//還可以使用ftp和ghoper等協議,必須啟用php.ini文件中的allow_url_fopen選項 

////////////////////////////代碼部分//////////////////////////////////////// 

$filename1 = "userinfo.txt";//目錄下或include_path中存在這個文件 

$filename2 = "test.txt";//目錄下或include_path并不存在這個文件 

$resource1 = fopen($filename1,"rb"); 

@$resource2 = fopen($filename2,"rb");//因為目錄中不存在這個文件,并且并未使用或include_path尋找包含文件所在路徑則此操作會報錯,使用錯誤抑制符@可以迫使瀏覽器不輸出錯誤信息 

if($resource1) 

echo "打開文件{$filename1}成功"; 

if(!@fopen($filename2,"r")) 

echo "打開文件{$filename2}不成功"; 

////////////////////////////////////////////////////////////////////////// 

---------------------輸出結果---------------------------------------- 

打開文件userinfo.txt成功 

--------------------------------------------------------------------- 

2.使用完畢文件后,要顯式的告訴PHP已經使用完文件,讓操作系統確保將文件的所有內容正確地從緩沖區刷新到硬盤 

使用fclose()關閉文件, 

bool fclose ( resource handle )//關閉一個已打開的文件指針

3.讀取文件,fopen函數的mode參數允許讀取,PHP提供了幾個函數從文件讀取數據 

string fgets ( int handle [, int length] )從文件指針中讀取一行,在二進制文件上嘗試fgets會產生不可預測的結果 

如果不指定長度,默認讀取1K數據,碰到換行符(包括在返回值中)、EOF 或者已經讀取了 length - 1 字節后停止 

string fgetss ( resource handle [, int length [, string allowable_tags]] )從文件指針中讀取一行并過濾掉 HTML 標記 

fgetc()讀取單個字符 

fread()讀取任意二進制數據 

////////////////////////////代碼部分//////////////////////////////////////// 

$handle = fopen ("test.jpg", "rb"); 

$c; 

while (!feof($handle)) { 

$contents .= @fread($handle, 8192);//循環讀取并將其合并為一個大塊文件 



fclose($handle); 

////////////////////////////////////////////////////////////////////////// 

---------------------輸出結果---------------------------------------- 

--------------------------------------------------------------------- 

4.判斷文件讀取的狀態 

每個文件句柄都有一個文件指針,或者一個指出下一個操作將在文件中哪里發生的游標,根據fopen函數的mode參數 

文件指針最初位于文件的開頭(0),或者文件的末尾 

feof()可以判斷文件是否已經到末尾(到末尾后函數返回TRUE) 

filesize()函數返回文件的大小 5.寫入文件 

fwrite()函數執行文件寫入 

////////////////////////////代碼部分//////////////////////////////////////// 

$filename = 'test.txt'; 

$somec;

 

// 首先我們要確定文件存在并且可寫。 

if (is_writable($filename)) { 

// 在這個例子里,我們將使用添加模式打開$filename, 

// 因此,文件指針將會在文件的開頭, 

// 那就是當我們使用fwrite()的時候,$somecontent將要寫入的地方。 

if (!$handle = fopen($filename, 'a')) { 

echo "不能打開文件 $filename"; 

exit; 



// 將$somecontent寫入到我們打開的文件中。 

if (fwrite($handle, $somecontent) === FALSE) { 

echo "不能寫入到文件 $filename"; 

exit; 



echo "成功地將 $somecontent 寫入到文件$filename"; 

fclose($handle); 

} else { 



echo "文件 $filename 不可寫"; 

////////////////////////////////////////////////////////////////////////// 

---------------------輸出結果---------------------------------------- 

成功地將 添加這些文字到文件 寫入到文件test.txt 

--------------------------------------------------------------------- 

對于二進制數據,必須指定第三個參數,它包含寫入到磁盤的數據字節數 

$result = @fwrite($fp,$binary_data,mb_strlen($binary_data,'8bit'));

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 元氏县| 鄂尔多斯市| 泽库县| 宜春市| 玉环县| 余干县| 安阳市| 博罗县| 三明市| 甘德县| 宜丰县| 宁津县| 贺兰县| 喀喇沁旗| 长治县| 建阳市| 闵行区| 黑河市| 龙海市| 滕州市| 抚松县| 张家港市| 雷波县| 孙吴县| 日土县| 太白县| 墨脱县| 乌拉特中旗| 内江市| 吕梁市| 建宁县| 乐陵市| 福州市| 安吉县| 伊金霍洛旗| 黄陵县| 灵璧县| 吉隆县| 桐庐县| 镇江市| 大石桥市|