<?php header("Content-Type:text/html;charset=utf-8"); /*** * 目錄操作。 * 磁盤 目錄和文件計算。 * 文件處理。 */ /*** * 目錄文件。獲取目錄 解析目錄 * 文件的擴展名 文件後綴 * basename 文件名 * dirname 目錄部分 * pathinfo 文件名+後綴名 * */ $path='/Applications/MAMP/htdocs/demo6/demo6_0.php'; echo $path; echo "<br/>"; echo basename($path); echo dirname($path); echo "<br/>"; $arraysPath=pathinfo($path); echo $arraysPath["dirname"]; echo "<br/>"; print_r(pathinfo($path)); /*** * 相對路徑 絕對路徑 * 絕對路徑的方法realpath */ $path1='demo6_1.php';//-相對路徑 echo "<br/>"; echo realpath($path1); $path2='../index.php'; echo "<br/>"; echo realpath($path2); /*** * 磁盤 目錄和文件的計算 * filesize 返回指定文件字節大小 * * * ---計算磁盤的可用空間 * ---計算磁盤的總容量 * ---文件的最後訪問時間----時間戳 * ---文件最後改變時間 * ---文件最後修改時間。 */ echo "---------------<br/>"; $file ='/Applications/MAMP/htdocs/demo6/demo6_0.php'; echo round(filesize($file)/1024,2)."kb"; echo "-----drive----------<br/>"; //---計算磁盤的可用空間 $drive='/'; echo round(disk_free_space($drive)/1024/1024/1024,2)."G"; // * ---計算磁盤的總容量 echo "-----drive----------<br/>"; echo round(disk_total_space($drive)/1024/1024/1024,2)."G"; //* ---文件的最後訪問時間 date_default_timezone_set('Asia/Shanghai'); echo "-----date----------<br/>"; echo date("Y-m-d,h:i:s"); echo "-----file----------<br/>"; echo date("Y-m-d,h:i:s",fileatime($drive)); //* ---文件的最後改變時間 echo "-----file----------<br/>"; echo date("Y-m-d,h:i:s",filectime($drive)); // * ---文件最後修改時間。 echo "-----file----------<br/>"; echo date("Y-m-d,h:i:s",filemtime($drive));
?>
<?php header("Content-Type:text/html;charset=utf-8"); /*** * 文件處理。 * 資源類型---輸入輸出---- * 1.寫入一個文件 * 打開文件 文件不存在 先創建 * 數據寫入 * 關閉文件 * 2.讀出數據 * 打開文件 * 讀出數據 * 關閉文件 * * * */ /**** * 打開文件 * fopen()函數 支持文件路徑 文件模式 * 文件模式--3中 * ->模式 * r只讀:文件指針在文件頭 * r+ 讀寫:.......文件頭 * w 只寫:在寫入之前,刪除文件內容,指針返回文件頭 文件不存在 嘗試創建。 * w+ 讀寫:讀取和寫入之前刪除文件內容,移動到文件頭 ,文件不存在。嘗試創建 * a-只寫:文件指針在文件的末尾,如果不存在創建,追加。 * a+讀寫 指針置於文件末尾,如果文件不存在,創建 追加到文件。 * b 二進制 是默認的模式,WIN系統區分二進制文件和文本文件。 * t 文本 * 1,只讀 只寫 讀和寫 * 2. 寫一個文件 可能是覆蓋所有已經有的文件內容,或者僅僅將數據追加到文件末尾。 * 3. 如果區分二進制和純文本的系統還必須指定採用的方式。 * * * * fwrite 第三個是可選參數爲最大字符數 * fputs * * * \n換行 */ //寫入文件------- >追加 //寫入文件------- > $fileone=fopen('file.txt','a'); //fopen返回的是資源類型resouce 資源句丙 //寫入數據 fwrite($fileone,'張三的打算',strlen($fileone)); file_put_contents('file.txt',"thoifdojasfds"); fclose($fileone); //打開文件 $fp=fopen('file.txt','a'); $string ="內從\ncontent"; fwrite($fp,$string,strlen($fp)); fclose($fp); //讀出文件------- > $fileone=fopen('file.txt','r'); /*** * fgetc()---讀出一個字符 指針移動到下一個字符 * fgets()--讀出一行字符 可以指定一行顯示的長度 length-1 * fgetss()從文件指針中拂去一行並且過濾掉HTML的標記 * fread()讀取定量的字符 length * fpassthru()輸出文件指針處的所有的剩餘數據 * file 將整個文件讀入數組中 以行分組 * readfile()讀入一個文件並寫入到輸出緩衝 所以不需要echo來輸出 返回值是文件字符的總長度(字節數中文是2個) * file_get_contents()將整個文件讀入一個字符串。 */ //讀出一個字符 echo fgetc($fileone); echo fgetc($fileone); echo fgets($fileone,"3"); //過濾HTML echo fgetss($fileone); echo "<br/>"; //fread echo fread($fileone,4); echo "<br/>"; echo fpassthru($fileone); echo "<br/>"; print_r(file('file.txt')); echo readfile('file.txt'); echo file_get_contents('file.txt'); //打印所有的文件 函數feof();檢測文件指針到了文件結尾的位置 while(!feof($fileone)) { echo fgetc($fileone); } //讀取文件的時候一定保證這個文件一定操作。否則報錯。不讓執行 /*** * 文件是否存在 file_exists * 查看文件的大小 filesize * 刪除一個文件 unlink * 在文件中定位 * * * * rewind 倒回文件的開始位置 * * * fseek 定位 */ echo "<br/>"; if(file_exists('file.txt')) { echo '存在'; rewind($fileone); echo fgetc($fileone); echo ftell($fileone); echo fseek($fileone,20); echo ftell($fileone); // unlink('file1.txt'); // filesize('file1.txt'); } else { echo '不存在'; } /*** * 鎖定商品 * flock---鎖定商品 * */ $ff=fopen('file.txt','ab'); flock($ff,LOCK_EX); fwrite($ff,'dsadas'); flock($ff,LOCK_UN); fclose($ff); /*** * 目錄句丙 * opendir()打開目錄 * closedir()關閉 * readdir()返回目錄中的元素 * * * scandir 讀入數組 * rmdir 刪除目錄 * rename 更改文件名 */ $dirs=opendir('/Applications/MAMP/htdocs/demo6'); while(!!$file ==readdir($dirs)) { echo $file.'<br/>'; } closedir($dir); print_r(scandir('/Applications/MAMP/htdocs/demo6')); rename('demo6_2.php','demo6_1.php'); ?>