PHP6 檔案操作

2021-08-06 04:30:12 字數 4265 閱讀 3217

【檔案操作】

【檔案讀取和寫入】

檔案有讀 、 寫  、 刪除 、修改 、 建立 、許可權

記憶體 就好比人類的大腦 抽象處理

硬碟 就是人類你腦袋想完的事情 存到某個位置 (紙,牆)

讀取檔案就是把檔案裡面的內容讀取到記憶體裡面

寫入檔案的時候就是把記憶體裡面處理的東西寸到硬碟裡面

【readfile】

讀取檔案並且輸出到瀏覽器

【file】

將檔案讀取到乙個陣列當中

必須要會【file_get_contents】

就是把檔案中的內容以字串形式讀取出來

join implode(運算元組,把陣列按照你指定的字元切割) explode (字串)

【file_put_contents】

把內容寫到乙個檔案裡面去 如果檔案不存在 建立

【檔案開啟,寫入 ,關閉】

【四大金剛】

第一步開啟

第二步確定開啟方式

第三步讀取或者寫入資料

第四步   

關閉fopen(檔案,模式)

r 以唯讀方式開啟,只能讀取,檔案不存在報錯

r+  讀寫方式開啟,將檔案指標指向檔案頭。 (覆蓋寫)

w    以寫入方式開啟 如果檔案不存在則建立 如果存在寫入 請清空寫入

w+  於w相同 但是可以讀取

a 以寫入方式開啟 檔案不存在建立 講指標指向檔案的末尾 累加寫

x 檔案存在報錯 不存在建立(了解一下)

x+ 建立並以讀寫方式開啟,其他的行為和 'x' 一樣。

注意:如果你想的讀取 把指標移動 用 fseek

注意:以a模式開啟你用fseek 操作檔案的指標是沒有作用的

fwrite() //寫入檔案  -----fputs

fread() //讀取檔案

fclose() //關閉檔案

fseek 移動指標

feof()測試檔案指標是否到了檔案結束的位置

ftell 返回檔案指標讀/寫的位置

rewind — 倒回檔案指標的位置 他就好比 fseek($fp , 0)

fgetc — 從檔案指標中讀取字元

fgets — 從檔案指標中讀取一行

fgetss — 從檔案指標中讀取一行並過濾掉 html 標記

ftruncate — 將檔案截斷到給定的長度

檔案鎖flock

lock_sh取得共享鎖定(讀取的程式) 

lock_ex 取得獨佔鎖定(寫入的程式) 

lock_un 釋放鎖定(無論共享或獨佔)

【檔案的路徑的問題】

pathinfo(); 獲取的是檔案的路徑的資訊

basename(); 獲取檔案名字

dirname(); 返回檔案的目錄結構

http_build_query 將陣列變成url引數  字串格式

parse_url — 解析 url,返回其組成部分 陣列格式  必須要會

parse_str — 將字串解析成多個變數

username=xiaoliang&password=aiwo&***=kongkong

echo $username,$password,$***;

常量directory_separator;  \ 

目錄 linux  /

資料夾 windows \

【檔案判斷】 這些記著

file_exists(); //判斷檔案是否存在

is_file()//判斷是否是個檔案

is_dir()//判斷是否是個目錄

is_writeable//是否可寫

is_readable//可讀

is_executable//可執行

【判斷檔案大小,時間】

byte

1024b = 1kb

1024kb = 1mb

1024mb = 1gb

fisesize();

fstat — 通過已開啟的檔案指標取得檔案資訊 看看就行了

filectime — 取得檔案的建立時間 create

filemtime — 取得檔案的修改時間 modify

fileatime — 取得檔案的上次訪問時間  active

【許可權問題】(了解一下就ok)

chmod(); 改變模式

0755

0777  最大許可權  可讀可寫可執行

所有者 chown — 改變檔案的所有者

所屬組 charp

其他許可權三種 r讀 w寫 x執行

【資料夾的操作】

mkdir() //建立資料夾

1、 資料夾名字

2、 賦值許可權  0777 可讀可寫可執行

3、 true 遞迴建立

rmdir() //刪除資料夾

注意:如果資料夾下面還有東西, 不能刪除 只能刪除一級級的往上刪除

opendir() //開啟資料夾

closedir() //關閉資料夾

readdir()  //readdir — 從目錄控制代碼中讀取條目

unlink //刪除檔案

copy //拷貝檔案

rename 重新命名

【重點】

面試題很常見(

遞迴刪除目錄)

//揹你也要背下來

rm('a');

function rm($path)

else }

closedir($dir);

rmdir($path); }

作用1、網盤 附件

2、種子

3、頭像

4、相簿 qq 空間

【檔案上傳七傷拳】

上傳步驟

1、準備form表單,檢視$_files 看結構

2、判斷錯誤號

3、判斷檔案是否超過了你指定的檔案大小

4、判斷檔案mime型別和檔案字尾名是否符合你指定的範圍

5、生成檔案新路徑和新的檔名

6、判斷是不是上傳檔案

7、將你上傳的檔案的臨時檔案移動到你指定的位置(寫入資料庫)

注意事項

在你的php.ini裡面的選項

file_uploads = on

max_file_uploads = 20 允許同時上傳的數量

upload_max_filesize = 2m 允許你上傳檔案的最大值

upload_tmp_dir ="c:/wamp64/tmp" 上傳檔案的臨時目錄

關於form表單問題

提交方式必須是post

form 裡面必須寫enctype="multipart/form-data"

type 必須是file

如果你想在上傳時候在html裡面寫下面這句話 注意要寫在最上面

兩個函式

is_uploaded_file() //判斷是否是上傳檔案

move_uploaded_file(); //移動上傳檔案

【多檔案上傳】

var_dump($_files);

for ($i = 0; $i$newpath = 'upload/'.$_files['f']['name'][$i];

//echo $newpath.'

';move_uploaded_file($_files['f']['tmp_name'][$i] , $newpath);

}1、告訴瀏覽器型別

2、告知附件

3、告知大小 可以加也可以不加

4、輸出內容

【狀態碼】

常見http狀態碼 面試題常考

1xx:資訊

100:繼續,伺服器接收到部分請求

101:切換協議

2xx:成功

200:請求成功

202:已接受但還未處理

204:沒有文件

3xx:重定向

301:選擇跳轉

305:使用location資訊

4xx:客戶端錯誤

400:錯誤請求

401:驗證失敗

403:拒絕訪問

404:頁面未找到

405:請求方法不准許       

5xx:伺服器錯誤

500:伺服器內部錯誤

501:不支援該請求

502:錯誤閘道器

503:無法服務(過載/宕機)

504:閘道器超時

505:不支援的http協議版本

【多位元組轉換函式】

mb_substr();

//iconv 沒事的時候可以常看看好不好

iconv — 字串按要求的字元編碼來轉換

6 檔案 目錄操作

with open filepath,r as f f.read 呼叫read 會一次性讀取檔案的全部內容,如果檔案有10g,記憶體就爆了,可以反覆呼叫read size 方法,每次最多讀取size個位元組的內容。呼叫readline 可以每次讀取一行內容,呼叫readlines 一次讀取所有內容並...

c基礎 6 檔案操作

1.讀檔案 2.寫檔案 三.fputs,fgets 行讀取和寫入 四.fprintf,fscanf格式化讀寫檔案內容 二.fwrite,fread二進位制的讀寫 stat 函式 fseek,ftell,rewind remove rename fflush 檔案流 重新整理快取 int main2 ...

PHP5 檔案操作

一 引論 在任何計算機裝置中,檔案是都是必須的物件,而在web程式設計中,檔案的操作一直是web程式設計師的頭疼的地方,而,檔案的操作在cms系統中這是必須 的,非常有用的,我們經常遇到生成檔案目錄,檔案 夾 編輯等操作,現在我把php中的這些函式做一詳細總結並例項示範如何使用.關於對應的函式詳細介...