程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php常用函數2--文件操作

php常用函數2--文件操作

編輯:關於PHP編程

php常用函數2--文件操作


一、文件類型
1.filetype()
獲取文件類型函數,參數為字符串(路徑+文件名)
返回值為字符串,file(普通文件),dir(目錄)或unknown(未知文件)
2.is_file() is_dir()
判斷是否是該類型,返回布爾值
二、文件屬性(以下函數參數均為文件名)
1.file_exists() 檢查文件或目錄是否存在
2.filesize() 取得文件大小,出錯返回false
3.is_readable() 是否可讀
4.is_writable() 是否可寫
5.is_executable() 是否可執行
6.filectime() 獲取創建時間
7.filemtime() 獲取修改時間
8.fileatime() 獲取訪問時間
9.stat() 獲取文件大部分屬性值
10.clearstatcache() 清除被PHP緩存的該文件信息
三、解析目錄
1.basename(path,[suffix])返回路徑中的文件名部分,第二個參數為擴展名(如"php"或".php"),如給出則返回值中不再有擴展名
2.dirname(path) 返回去掉文件名後的目錄名
3.pathinfo()返回一個關聯數組,包括dirname(目錄名),basename(基本名),extension(擴展名)
四、遍歷目錄
1.opendir() 打開指定目錄,返回可供其他目錄函數使用的目錄句柄。失敗返回false
2.readdir()讀取指定目錄,參數為目錄句柄,返回當前目錄指針位置的一個文件名,並將指針後移一們。沒有更多文件返回false
3.closedir() 關閉指定目錄,參數為目錄句柄
4.rewinddir() 倒回目錄句柄,參數為目錄句柄,將目錄指針重置到開始處
五、建立和刪除目錄
1.mkdir() 建立新目錄,參數為目錄名
2.rmdir() 刪除目錄,被刪除的只能是空目錄,如非空,則必須先進入目錄,將其中的文件用unlink()函數刪除
六、復制或移動目錄
1.復制:php中無特定函數,必須先新建目錄mkdir(),再使用copy()函數復制每個文件。
2.移動:先復制,後刪除原目錄
七、文件打開與關閉
1.fopen(filename,mode[,use_include_path[,zcontext]])打開文件,參數為文件名,文件模式,第三個參數可選,設為1會使PHP考慮配置指令include_path中指定的路徑,第四個參數可選,設置允許文件名稱以協議名稱開始,如http://。返回文件指針,失敗返回false。
模式總結:
r 只讀
r+ 讀寫
w 只寫(文件存在,則刪除原有數據,文件不存在,則創建這個文件)
w+ 讀寫(同w)
x 寫入(文件存在,返回false,文件不存在則創建,僅本地)
x+ 讀寫(同x)
a 寫入(指針指向文件尾,文件不存在則創建)
a+ 寫入(同a)
b 二進制模式
t 文本模式
2.fclose() 關閉
八、操作文件內容
1.fwrite(handle,string[,length])寫入字符串。\n\r為行結束字符。返回寫入的字符數,失敗返回false.
2.fread(handle,length) 讀取打開的文件
3.file_get_contents() 將文件讀入字符串
4.fgets(handle[,length]) 返回一行
5.fgetc() 返回字符
6.file() 把文件讀入一個數組,每行為一個元素。
7.readfile() 讀取一個文件,輸出到輸出緩沖
8.feof() 判斷是否到達文件結束處,是則返回true
9.file_get_contents()
10.訪問遠程文件:配置文件中激活"allow_url_fopen"選項,set_time_limit()函數控制程序運行時間可避免超時錯誤。
九、移動文件指針
1.ftell(handle) 返回文件指針當前位置
2.fseek(handle,offset[,whence]) 移動文件指針到由offset參數指定位置。
參數三:SEEK_CUR 當前位置加上第二個參數把提供的字節;
SEEK_END EOF加上offset字節,此時,offset必須為負值;
SEEK_SET offset字節處,與無此參數效果相同;
成功返回0,失敗返回-1。如以a或a+打開,總是附加在後面,不管文件指針位置。
3.rewind(handle) 移動到文件開關
十、文件鎖定機制(防止多用戶同時訪問同一文件造成文件混亂)
1.flock(handle,operation[,&wouldblock])文件鎖定操作,參數二:LOCK_SH 共享鎖定,讀取數據時使用;LOCK_EX 獨占鎖定,寫入數據使用;LOCK_UN釋放鎖定;LOCK_NB 附加鎖定,防止鎖定時堵塞。參數三:設為1時,鎖定期間阻止其他進程。
十、文件復制、刪除等
1.copy(本源文件,目的文件) 復制
2.unlink(目標文件) 刪除文件
3.ftruncate(目標文件資源,截取長度) 將文件截斷到指定長度
4.rename(舊文件名,新文件名) 重命名文件或目錄
十一、文件上傳與下載
1.全局數組$_FILES
$_FILES["myfile"]["name"] 原名稱,含擴展名
$_FILES["myfile"]["size"] 已上傳文件大小,單位為字節
$_FILES["myfile"]["tmp_name"] 上傳後臨時文件名
$_FILES["myfile"]["error"]0:成功;1:大小超出PHP配置文件限制;2:大小超出表單限制;3:文件上載不完整;4:沒有上載任何文件
$_FILES["myfile"]["type"] 獲取上傳文件的MIME類型
2.is_uploaded_file() 判斷是否是通過HTTPPOST上傳的
3.move_uploaded_file() 將上傳的文件從臨時位置移動到新位置
4.下載頭信息處理
header('Content-Type:image/gif'); MIME類型
header('Content-Disposition:attachment;filename="test.gif"');頭信息,附件和文件名
header('Content-Length:3390'); 大小
readfile('test.gif');

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