【檔案操作】
【檔案讀取和寫入】
檔案有讀 、 寫 、 刪除 、修改 、 建立 、許可權
記憶體 就好比人類的大腦 抽象處理
硬碟 就是人類你腦袋想完的事情 存到某個位置 (紙,牆)
讀取檔案就是把檔案裡面的內容讀取到記憶體裡面
寫入檔案的時候就是把記憶體裡面處理的東西寸到硬碟裡面
【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中的這些函式做一詳細總結並例項示範如何使用.關於對應的函式詳細介...