程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP目錄與文件操作技巧總結(創建,刪除,遍歷,讀寫,修改等)

PHP目錄與文件操作技巧總結(創建,刪除,遍歷,讀寫,修改等)

編輯:PHP綜合

本文實例總結了PHP目錄與文件操作技巧。分享給大家供大家參考,具體如下:

Demo1.php

<?php
  //將一個路徑賦給一個變量
  //它目前來說,只是一個字符串,字符串表示的是一個目錄的路徑
  //文件名包含,文件的名稱 + 文件的擴展名(就是.後面的文件類型)
  //文件的擴展名說白了就是文件後綴
  $path = 'C:\AppServ\www\Basic6\Demo1.php';
// echo basename($path);
// echo '<br/>';
// //dirname -- 返回路徑中的目錄部分
// //dirname 返回路徑的目錄部分
// echo dirname($path);
// echo '<br/>';
// //獲取路徑文件的信息
// print_r(pathinfo($path));
  $array_path = pathinfo($path);
  echo $array_path['dirname']; //這個打印出的目錄 C:\AppServ\www\Basic6
  echo $array_path['basename']; //這個打印出的是文件名 Demo1.php
?>

Demo2.php

<?php
  //這個叫做絕對路徑
  //$path = 'C:\AppServ\www\Basic6\Demo2.php';
  //這個叫做相對路徑
// $path = 'Demo2.php';
// echo $path;
  $path = '../index.php'; //這也是相對路徑
  echo realpath($path);
?>

Demo3.php

<?php
  $path = 'C:\AppServ\www\Basic6\Demo3.php';
  echo round(filesize($path)/1024,2).'KB';
?>

Demo4.php

<?php
  //可用空間的查看 disk_free_space
  echo round(disk_free_space('C:')/1024/1024/1024,2).'GB';
  echo '<br/>';
  //總空間
  echo round(disk_total_space('C:')/1024/1024/1024,2).'GB';
?>

Demo5.php

<?php
  $path = 'C:\AppServ\www\Basic1\Demo1.php';
  //我們要做的是將這個時間戳翻譯成正常的日期
  //echo fileatime($path);
  //調整一下時區
  date_default_timezone_set('Asia/Shanghai');
  //格式化一個本地日期
  //echo date('Y-m-d H:i:s');
  //fileatime -- 取得文件的上次訪問時間
  echo '最後訪問:'.date('Y-m-d H:i:s',fileatime($path)).'<br/>';
  //filectime -- 取得文件的 inode 修改時間,文件所有者,權限
  echo '權限所有者等:'.date('Y-m-d H:i:s',filectime($path)).'<br/>';
  //filemtime -- 取得文件修改時間,文件裡面的內容修改後的時間
  echo '內容修改時間:'.date('Y-m-d H:i:s',filemtime($path));
?>

Demo6.php

<?php
  //打開一個文件
  //第一參數表明哪個文件 ,第二參數表明模式, w 只寫
  //w 如果,file.txt 已經有了,並且有數據了。那麼這個文件,重新創建
  //如果沒有 file.txt 這個文件,那麼我就自行創建
// //fopen -- 打開文件或者 URL
// //fopen 返回的是資源類型 resource,我們一般稱它為句柄,或者叫資源句柄
// $fp = fopen('file.txt','w');
//
// //想文件裡寫入一些數據
// //fwrite($fp,"閱誰問君誦,水落清香浮。");
//
// $outString = "閱誰問君誦,水落清香浮。";
// echo strlen($outString);//獲取長度
// fwrite($fp,$outString,strlen($outString));
//
// //fclose -- 關閉一個已打開的文件指針
// //當打開一個文件的時候,習慣性的將它關閉掉
// fclose($fp);
  //就只有一句話,不需要任何其他靈活的事情的使用
  //這個比較在行,只有在 PHP5 的版本才可以使用
  file_put_contents('file2.txt','閱誰問君誦,水落清香浮。');
?>

Demo7.php

<?php
  //第一種寫法
  //\r\n 可以讓文本文件換行
  $fp = fopen('file.txt','a');
  $outString = "閱誰問君誦,\r\n水落清香浮。\r\n";
  fwrite($fp,$outString,strlen($outString));
  fclose($fp);
  //第二種寫法
// file_put_contents('file2.txt','閱誰問君誦,\r\n水落清香浮。');
?>

Demo8.php

<?php
  //現在要讀出文件
  $fp = fopen('file.txt','r');
  //fgetc -- 從文件指針中讀取字符
// echo fgetc($fp);
// echo fgetc($fp);
// echo fgetc($fp);
// echo fgetc($fp); //閱誰
  //fgets -- 從文件指針中讀取一行
  //fread() 從 handle 指向的文件中讀取一行並返回長度最多為 length - 1 字節的字符串。
  //echo fgets($fp,20);
  //可以過濾HTML
  //echo fgetss($fp,20);
  //echo fread($fp,2);
  //fread() 從 handle 指向的文件中讀取最多 length 個字節數
  //echo fread($fp,30);
  //fpassthru -- 輸出文件指針處的所有剩余數據
  //fpassthru 本身還包含了向浏覽器輸出的功能,所以不需要 echo
  echo fpassthru($fp);
  fclose($fp);
?>

Demo9.php

<?php
  //file -- 把整個文件讀入一個數組中
  //file 是按照每行來分組存放在一個數組中
  //print_r(file('file.txt'));
  //而這個打印出的是文件中的第二行。
// $array_file = file('file.txt');
// echo $array_file[4];
  //readfile -- 輸出一個文件
  //readfile 是將整個文件讀出來,readfile 本身能夠直接輸入浏覽器,所以不需要 echo
  //返回值是文件字節的總長度
  //echo readfile('file.txt');
  //file_get_contents -- 將整個文件讀入一個字符串
  //file_get_contents 可以讀入數據到緩沖區,然後通過 echo 來打印
  echo file_get_contents('file.txt');
?>

Demo10.php

<?php
  //現在要讀出文件
  $fp = fopen('file.txt','r');
  //feof -- 測試文件指針是否到了文件結束的位置
  while (!feof($fp)){
    echo fgetc($fp);
  }
  fclose($fp);
?>

Demo11.php

<?php
  //比如讀取一個文件的時候,你必須保證這個文件一定要存在,才可以操作
  //否則就報錯,不讓執行
  //這個時候就有必須做一個檢測
  //file_exists -- 檢查文件或目錄是否存在
  if(file_exists('file.txt')){
    echo '執行各種各樣的文本讀寫操作!';
  }else{
    echo '此本文不存在,請管理員在後台重新生成一下。';
  }
?>

Demo12.php

<?php
  //文本大小,字節
  //echo filesize('file.txt');
  //刪除一個文件
  //unlink('a.txt');
  //rewind -- 倒回文件指針的位置
  //ftell -- 返回文件指針讀/寫的位置
  //rewind -- 倒回文件指針的位置
  //a 表示可以追加,b 表示二進制,這樣可移植性好
  //w
  $fp = fopen('file.txt','ab');
// echo fgetc($fp);
// echo fgetc($fp);
// echo fgetc($fp);
// echo fgetc($fp);
// rewind($fp);
// echo ftell($fp);
// fseek($fp,20);
// echo ftell($fp);
// echo fgetc($fp);
// echo fgetc($fp);
  flock($fp,LOCK_EX);//鎖定
  fwrite($fp,'This is lock!');
  flock($fp,LOCK_UN);//解鎖
  fclose($fp);
?>

Demo13.php

<?php
// //打開一個目錄
// @$dir = opendir('C:\AppServ\www\Basic6');
// //讀出目錄,使用一個循環來讀出
// //readdir -- 從目錄句柄中讀取條目
// //字符串如果是布爾值,就是說,字符串不為空,那麼就是真,為空就是假
// while (!!$file = readdir($dir)){
//   echo $file.'<br/>';
// }
// //關閉
// @closedir($dir);
  //print_r(scandir('C:\AppServ\www\Basic6'));
  //刪除一個目錄
// //絕對路徑的刪除目錄
// rmdir('C:\AppServ\www\Basic6\delMe');
// //相對路徑的刪除目錄
// rmdir('delMe');
  //刪除一個文件
  //ssunlink('file2.txt');
  //重命名,這裡,目錄和文件都能改
  //rename('file.txt','file2.txt');
?>

更多關於PHP相關內容感興趣的讀者可查看本站專題:《php文件操作總結》、《PHP目錄操作技巧匯總》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《php字符串(string)用法總結》、《PHP數組(Array)操作技巧大全》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved