在學習中會經常遇到檔案系統,本文將將講解php檔案系統的操作。
<!-- PHP檔案系統 -->
<?php readfile("/home/paul/text.txt"); $filename = 'NoAlike.txt'; $filestring = file_get_contents($filename); echo $filestring; // fopen\fread\fclose操作讀取檔案 $fp = fopen('NoAlike.txt', "r");//r、r+、w、w+ $contents = fread($fp, 1024); fclose($fp); var_dump($fp); $date = "在topic.alibabacloud.com學好PHP,妹子票子不在話下!"; $numbyte = file_put_contents('binggege.txt', $data); if ($numbyte) { echo '寫入成功,我們讀取看看結果試試:'; echo file_get_contents('binggege.txt'); }else{ echo '寫入失敗或者沒有許可權,注意檢查'; } // fwrite配合fopen進行寫入操作 $filename = 'test.txt'; $fp = fopen($filename, "r+");//x、a $len = fwrite($fp, '我是一隻來自南方的狼,一直在'); //建立臨時檔案 $handle = tmpfile(); $numbytes = fwrite($handle, '寫入臨時檔案'); fclose($handle); echo '向臨時檔案中寫入了'.$numbytes.'個位元組'; //移動、拷貝和刪除檔案 rename($oldname, $newname); $filename = 'test.txt'; $filename2 = $filename.'old'; rename($oldname, $oldname2); copy($oldname, $oldname2); if (unlink($filename)) { echo "刪除檔案成功$filename!\n"; }else { echo "sc $filename失敗!\n"; } //檢測檔案屬性函數 file_exists($filename);//檔案是否存在 is_readable($filename);//檔案是否可讀 is_writable($filename);//檔案是否可寫 is_executable($filename);//檔案是否可執行 is_file($filename);//是否是檔案 is_dir($filename);//是否是目錄 clearstatcache();//清楚檔案的狀態緩衝 if (file_exists('install.lock')) { echo '已安裝,請不要再次安裝'; exit; } //檔案常用函數和常量 $_current_file = str_replace( array('/','\\'), DIRECTORY_SEPARATOR, __FILE___); define('_CUR_FILE_', $_current_file); echo _CUR_FILE_; rewind($handle);//指標回到開始處 fseek($handle, $offset);//檔案指標向後移動指定字元 $fp = fopen('demo2.txt', 'r+'); echo fread($fp, 10); rewind($fp); echo '<br>'; echo fread($fp, 10); echo '<br>'; echo fseek($fp, 10); echo '<br>'; echo fread($fp, 10); echo '<br>'; fclose($fp); $filename = 'demo.txt'; echo $filename . '檔案大小為:'. filesize($filename).'bytes'; filectime($filename);//檔案建立時間 filemtime($filename);//檔案修改時間 fileatime($filename);//檔案上次訪問時間 $filename = 'demo.txt'; if (file_exists($filename)) { echo '$filename檔案的上次訪問時間是:'.date("Y-m-d H:i:s" ,filectime($filename)); echo '$filename檔案的上建立時間是:'.date("Y-m-d H:i:s" ,filectime($filename)); echo '$filename檔案的上次修改時間是:'.date("Y-m-d H:i:s" ,filemtime($filename)); } //檔案鎖處理機制 $fp = fopen("demo.txt", "r+"); if (flock($fp, LOCK_EX)) { fwrite($fp, "檔案這個時候被我佔用了喲\n"); flock($fp, LOCK_UN); }else { echo "鎖失敗,可能有人在操作,這個時候不能將檔案上鎖"; } fclose($fp); //目錄處理函數 $dir = "d:/"; if (is_dir($dir)) { if ($dh = opendir($dir)) { echo readdir($dh).'<br />'; echo readdir($dh).'<br />'; echo readdir($dh).'<br />'; echo readdir($dh).'<br />'; closedir($dh); }; } $dir = "d:/"; if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false){ echo "檔案名稱為:$file : 檔案的類型是:".filetype($dir.$file).'<br />'; } closedir($dh); } } //檔案使用權限設定 chmod("/var/wwwroot/index.html", 755); chmod("/var/wwwroot/index.html", "u+rwx,go+rx"); chmod("/somedir/somefile", 0755); //檔案路徑函數 pathinfo($path);//返迴文件的各個組成部分 basename($path);//返迴文件名 dirname($path);//檔案目錄部分 parse_url($url);//網址拆解成各部分 http_build_query($query_data);//產生url中的query字串 http_build_url();//產生一個url $date = [ 'username'=>'php', 'area'=>'hubei' ]; echo http_build_query($date); $path_parts = pathinfo('d:/www/index.inc.php'); echo '檔案目錄名:'.$path_parts['dirname']."<br />"; echo '檔案全名:'.$path_parts['basename']."<br />"; echo '副檔名:'.$path_parts['extension']."<br />"; echo '不包含擴充的檔案名稱:'.$path_parts['filename']."<br />"; echo "1: ".basename("d:/www/index.d",".d").PHP_EOL; echo "2: ".basename("d:/www/index.php").PHP_EOL; echo "3: ".basename("d:/www/passwd").PHP_EOL; $url = 'https://username:password@hostname:9090/path?arg=value#anchor'; var_dump(parse_url($url)); //檔案留言本 // date_default_timezone_set('PRC'); @$string = file_get_contents('message.txt'); if (!empty($string)) { $string = rtrim($string, '&^'); $arr = explode('&^', $string); foreach ($arr as $value){ list($username, $content, $time) = explode('$#', $value); echo '使用者名稱為<font color="gree">'.$username.'</font>'; echo '<hr />'; } } $fp=fopen('message.txt', 'a'); $time=time(); $username=trim(@$_POST['username']); $content=trim(@$_POST['content']); if ($username & $content) { $string=$username.'$#'.$content.'$#'.$time.'&^'; fwrite($fp, $string); fclose($fp); } ?> <h1>基於文本的留言本示範</h1> <form action="write.php" method="post"> 使用者名稱:<input type="text" name="username" /><br /> 留言內容:<textarea name="content"></textarea><br /> <input type="submit" value="提交" /> </form> <!-- 實現修改設定檔的執行個體 --> <?php include 'config.php'; ?> <form action="edit.php" method="post"> <input type="text" name="DB_HOST" value="<?php echo DB_HOST;?>" /><br /> <input type="text" name="DB_USER" value="<?php echo DB_USER;?>" /><br /> <input type="text" name="DB_PWD" value="<?php echo DB_PWD;?>" /><br /> <input type="text" name="DB_NAME" value="<?php echo DB_NAME;?>" /><br /> <input type="submit" value="修改" /> </form> <!-- edit.php --> <?php $string=file_get_contents('config.php'); foreach ($_POST as $key=>$val){ $yx="/define′$key′,′.∗?′′$key′,′.∗?′;/"; $re="define('$key','$val');"; $string=preg_replace($yx, $re, $string); } file_put_contents('config.php', $string); echo '修改成功'; ?> <!-- config.php --> <?php define('DB_HOST', 'localhost1'); define('DB_USER', 'root1'); define('DB_PWD', 'root1'); define('DB_NAME', 'neirong1'); ?>
本文講解了php檔案系統的操作,更多相關知識請關注php中文網。