目录和文件
判斷文件是否存在:file_exists();
比如讀取一個文件的時候,你必須保證這個文件一定要存在,才可以操作
<?phpif(file_exists("11.txt")){echo '文件存在'; }else{echo '文件不存在'; } ?>filesize();查看文件大小
echo filesize('11.txt'); //返回30b刪除一個文件ulink();
unlink('12.txt');在文件中定位:rewind() fseek和ftell();
?rewind() 函數可以將文件指針復位到文件的開始。
<?php header("content-type:text/html;charset=utf-8"); if(file_exists("11.txt")){$fp=fopen('11.txt','r');echo fgetc($fp); //返回techo fgetc($fp); //返回hrewind($fp); //重置指針位置到開頭echo fgetc($fp); //返回t }else{echo '文件不存在'; }?>ftell()函數可以以字節為單位報告文件指針當前在文件中的位置
<?php header("content-type:text/html;charset=utf-8"); if(file_exists("11.txt")){$fp=fopen('11.txt','r');echo fgetc($fp); //返回techo fgetc($fp); //返回hecho ftell($fp); //查看文件指針的位置 返回2echo fgetc($fp); //返回t }else{echo '文件不存在'; }?>fseek()指針定位
fseek()函數可以將文件指針fp從whence位置移動offset字節
<?php header("content-type:text/html;charset=utf-8");$fp=fopen('11.txt','r');echo ftell($fp); //返回0fseek($fp,8);echo ftell($fp); //返回8echo fgetc($fp);echo fgetc($fp);?>文件鎖定
假設兩個客戶試圖同時訂購一件商品,那么他們同時打開了這個文件,同時的更新,就會出現少一個客戶訂購的數據,為了避免這樣的問題,可以使用文件鎖定的方法
flock()函數
操作值 意義
LOCK_SH(以前為1) 讀寫鎖定,這意味文件可以共享,其他人可以讀該文件
LOCK_EX(以前為2) 寫操作鎖定,這是互斥的,該文件不能被共享
LOCK_UN(以前為3) 釋放已有的鎖定
LOCK_NB(以前為4) 防止在請求加鎖是發生阻塞
<?php header("content-type:text/html;charset=utf-8");$fp=fopen('14.txt','w'); //寫入模式flock($fp,LOCK_EX); //鎖定fwrite($fp,'this is my lock'); //寫入flock($fp,LOCK_UN); //解鎖fclose($fp); //關閉?>目錄句柄操作
opendir();打開路徑指定的目錄流
closedir();關閉目錄流
readdir();返回目錄中的各個元素
<?php header("content-type:text/html;charset=utf-8"); $dir=opendir('D:\PHP'); //打開目錄流 while($rd=readdir($dir)){ //利用循環讀取目錄echo $rd.'<br>'; } closedir($dir); //關閉目錄流?>
scandir();將目錄讀為數組
<?php header("content-type:text/html;charset=utf-8"); print_r(scandir('D:\PHP')); //scandir 需要打開文件流 ?>rmdir()刪除一個目錄
rename();重命名文件
<?php header("content-type:text/html;charset=utf-8"); $dir=opendir('D:\PHP'); while($rd=readdir($dir)){echo $rd.'<br>'; }rmdir('dl'); //刪除dl目錄 rename('11.txt','22.txt'); //修改11。txt為22.txt closedir($dir); ?>?
轉載于:https://www.cnblogs.com/xiaowie/p/11229870.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
- 上一篇: ASP.NET 获取客户端IP (无视代
- 下一篇: 4. 寻找两个有序数组的中位数