php常用函數2--檔案操作_PHP教程

來源:互聯網
上載者:User

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');

http://www.bkjia.com/PHPjc/857248.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/857248.htmlTechArticlephp常用函數2--檔案操作 一、檔案類型 1.filetype() 擷取檔案類型函數,參數為字串(路徑+檔案名稱) 傳回值為字串,file(普通檔案),di...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.