摘要:設(shè)定位置為文件尾加上。五實(shí)例留言板添加寫入鎖及防阻塞釋放寫入鎖及防阻塞寫入鎖定失敗不打開文件讀取,無法加鎖添加讀取鎖及防阻塞釋放讀取鎖及防阻塞讀取鎖定失敗,,用戶名標(biāo)題內(nèi)容提交
一、文件操作函數(shù)
1.創(chuàng)建文件:touch("./xxx.php");
bool touch ( string $filename [, int $time = time() [, int $atime ]] )
2.復(fù)制文件:copy("./xxx.php","./yyy.php");
3.移動(dòng)或重命名:rename("./xxx.php","./yyy.php");
4.刪除文件:unlink("./xxx.php");
5.截取文件:ftruncate("./xxx.php",$size);
6.文件內(nèi)容操作:
a.file_get_contents("./xxx.php");獲取文件 b.file_put_contents("./xxx.php","aaa");寫入文件 注:可以遠(yuǎn)程讀取文件,如:file_put_contents("./xxx.php",file_get_contents("http://www.baidu.com")); C.讀文件readfile("http://www.baidu.com"); d.$arr=file("./xxx.php"):將文件存為數(shù)組,每一行是一個(gè)元素
注:以上涉及讀取文件內(nèi)容的函數(shù)無需先打開文件
二、文件的打開與關(guān)閉
1.$open=fopen("./xxx.php","r");
resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )
注:附加Mode:b操作二進(jìn)制文件時(shí)加上,t文本文件
2.fclose($open);
3.fwrite($open,"aaaa");可以更改fopen的mode,改變每次寫入是否覆蓋
4.fgetc($open);一次讀取文件一個(gè)字符
5.feof($open);指針到文件結(jié)尾返回true,可用作if判斷
6.fgets($open);一次讀取文件一行
7.fread($open,1024);一次讀取指定長度(字節(jié)數(shù))的字符
注:以上讀取文件內(nèi)容必須先打開文件
while(!feof($open)){ echo fgetc($open); echo fgets($open); echo fread($open,filesize($open)); }
三、移動(dòng)文件的指針
1.ftell($open);返回指針當(dāng)前位置,默認(rèn)為開始
2.fseek($open,-4,SEEK_END);將指針移動(dòng)至某位置,如從文件尾前移4個(gè)字節(jié),注意結(jié)尾可能有換行符??梢耘浜蟜open的a追加模式更方便的操作
$whence值可以是: ?SEEK_SET - 設(shè)定位置等于 offset 字節(jié)。 ?SEEK_CUR - 設(shè)定位置為當(dāng)前位置加上 offset。 ?SEEK_END - 設(shè)定位置為文件尾加上 offset。
3.rewind($open);將指針放到開頭
四、文件的鎖定機(jī)制
1.flock($open,LOCK_SH):讀取/寫入文件時(shí)都需要鎖定(LOCK_SH/LOCK_EX),以防止多人同時(shí)操作,解鎖時(shí)方法相同(LOCK_UN)
注:$handle必須指向一個(gè)打開的文件資源
bool flock ( resource $handle , int $operation [, int &$wouldblock ] )
operation 可以是以下值之一: ? LOCK_SH取得共享鎖定(讀取的程序)。 ? LOCK_EX 取得獨(dú)占鎖定(寫入的程序。 ? LOCK_UN 釋放鎖定(無論共享或獨(dú)占)。
五、實(shí)例:留言板
{$username},".date("y-m-d h:i",$time).":{$title},{$content}
"; } fclose($file); } ?>
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/25710.html
摘要:,意為跨網(wǎng)站請(qǐng)求偽造,也有寫為。攻擊者偽造目標(biāo)用戶的請(qǐng)求,然后此請(qǐng)求發(fā)送到有漏洞的網(wǎng)站,網(wǎng)站執(zhí)行此請(qǐng)求后,引發(fā)跨站請(qǐng)求偽造攻擊。 CSRF(Cross Site Request Forgeries),意為跨網(wǎng)站請(qǐng)求偽造,也有寫為XSRF。攻擊者偽造目標(biāo)用戶的HTTP請(qǐng)求,然后此請(qǐng)求發(fā)送到有CSRF漏洞的網(wǎng)站,網(wǎng)站執(zhí)行此請(qǐng) 求后,引發(fā)跨站請(qǐng)求偽造攻擊。攻擊者利用隱蔽的HTTP連接,讓目標(biāo)...
摘要:用到對(duì)數(shù)據(jù)進(jìn)行刪除,具體請(qǐng)看的編寫相關(guān)姿勢(shì)有發(fā)送請(qǐng)求字符串模板頁面元素內(nèi)容賦值請(qǐng)求返回到這,整體結(jié)構(gòu)就完成了。 前言 在對(duì)php語法有一定了解之后開始,這是第一個(gè)php練手項(xiàng)目,涵蓋的知識(shí)有 公共部分的引用 表單的提交 請(qǐng)求的接收與響應(yīng) interface+implements的使用 基于文件的所處理的增刪改查 json的格式化與字符串序列化 項(xiàng)目地址message boardps...
摘要:二面向?qū)ο笥惺裁刺卣髅嫦驅(qū)ο蟮闹饕卣饔谐橄罄^承封裝和多態(tài)。析構(gòu)函數(shù)析構(gòu)函數(shù)是在引入的,它的作用與調(diào)用時(shí)機(jī)和構(gòu)造函數(shù)剛好相反,它在對(duì)象被銷毀時(shí)自動(dòng)執(zhí)行。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優(yōu)質(zhì)的PHP面試內(nèi)容。PHP中面向?qū)ο蟪?嫉闹R(shí)點(diǎn)有以下7點(diǎn),我將會(huì)從以下幾點(diǎn)進(jìn)行詳細(xì)介紹說明,幫助你更好的應(yīng)對(duì)PHP面試常考的面向?qū)ο笙嚓P(guān)的知識(shí)點(diǎn)和考題。整個(gè)面向?qū)ο笪恼碌慕Y(jié)構(gòu)涉...
摘要:繼周一發(fā)布的面試??純?nèi)容之和后,這是第二篇,感謝你的支持和閱讀。預(yù)告面試??純?nèi)容之和將于本周五更新。以上內(nèi)容摘自程序員面試筆試寶典書籍,該書已在天貓京東當(dāng)當(dāng)?shù)入娚唐脚_(tái)銷售。 你好,是我琉憶。繼周一(2019.2-18)發(fā)布的PHP面試??純?nèi)容之Memcache和Redis(1)后,這是第二篇,感謝你的支持和閱讀。本周(2019.2-18至2-22)的文章內(nèi)容點(diǎn)為以下幾點(diǎn),更新時(shí)間為每周...
摘要:繼周一發(fā)布的面試??純?nèi)容之和后,這是第二篇,感謝你的支持和閱讀。預(yù)告面試??純?nèi)容之和將于本周五更新。以上內(nèi)容摘自程序員面試筆試寶典書籍,該書已在天貓京東當(dāng)當(dāng)?shù)入娚唐脚_(tái)銷售。 你好,是我琉憶。繼周一(2019.2-18)發(fā)布的PHP面試??純?nèi)容之Memcache和Redis(1)后,這是第二篇,感謝你的支持和閱讀。本周(2019.2-18至2-22)的文章內(nèi)容點(diǎn)為以下幾點(diǎn),更新時(shí)間為每周...
閱讀 1017·2019-08-30 14:24
閱讀 1068·2019-08-30 14:13
閱讀 1866·2019-08-29 17:21
閱讀 2830·2019-08-29 13:44
閱讀 1728·2019-08-29 11:04
閱讀 536·2019-08-26 10:44
閱讀 2649·2019-08-23 14:04
閱讀 964·2019-08-23 12:08