PHP初學-io操作____PHP

來源:互聯網
上載者:User

本人初學php,一直從事的是java,學習方式,是按照java的思想來的,比較喜歡php,大家一起學習。喜歡的可以一起探討。謝謝大家。

<?php/***php的io操作*/class IoOperation{/**fopen(filename,mode,include_path,context) filename 必需。規定要開啟的檔案或 URL。*mode 必需。規定要求到該檔案/流的訪問類型。可能的值見下表。 include_path 可選。如果也需要在 include_path 中檢索檔案的話,可以將該參數設為 1 或 TRUE。*context 可選。規定檔案控制代碼的環境。Context 是可以修改流的行為的一套選項*mode 說明"r" 唯讀方式開啟,將檔案指標指向檔案頭。"r+" 讀寫方式開啟,將檔案指標指向檔案頭。"w" 寫入方式開啟,將檔案指標指向檔案頭並將檔案大小截為零。如果檔案不存在則嘗試建立之。"w+" 讀寫方式開啟,將檔案指標指向檔案頭並將檔案大小截為零。如果檔案不存在則嘗試建立之。"a" 寫入方式開啟,將檔案指標指向檔案末尾。如果檔案不存在則嘗試建立之。"a+" 讀寫方式開啟,將檔案指標指向檔案末尾。如果檔案不存在則嘗試建立之。"x" 建立並以寫入方式開啟,將檔案指標指向檔案頭。如果檔案已存在,則 fopen() 調用失敗並返回 FALSE,並產生一條 E_WARNING 層級的錯誤資訊。如果檔案不存在則嘗試建立之。這和給底層的 open(2) 系統調用指定 O_EXCL|O_CREAT 標記是等價的。此選項被 PHP 4.3.2 以及以後的版本所支援,僅能用於本地檔案。"x+" 建立並以讀寫方式開啟,將檔案指標指向檔案頭。如果檔案已存在,則 fopen() 調用失敗並返回 FALSE,並產生一條 E_WARNING 層級的錯誤資訊。如果檔案不存在則嘗試建立之。這和給底層的 open(2) 系統調用指定 O_EXCL|O_CREAT 標記是等價的。此選項被 PHP 4.3.2 以及以後的版本所支援,僅能用於本地檔案。**///操作檔案第一種方法public static function operation_f($filePath){if(file_exists($filePath))//判斷{$rFile = fopen($filePath, 'a+');$length = filesize($filePath);$content = fread($rFile,$length);//file 必需。規定要讀取開啟檔案。length 必需。規定要讀取的最大位元組數。echo str_replace("\n", '<br/>', $content);fclose($rFile);}else{echo 'not file';}}//操作檔案第二種方法  自己會關閉流public static function operation_s($filePath){if(file_exists($filePath))//判斷{$content = file_get_contents($filePath);//file_get_contents(path,include_path,context,start,max_length)//path 必需。規定要讀取的檔案。//include_path 可選。如果也想在 include_path 中搜尋檔案的話,可以將該參數設為 "1"。//context 可選。規定檔案控制代碼的環境。//context 是一套可以修改流的行為的選項。若使用 null,則忽略。//start 可選。規定在檔案中開始讀取的位置。該參數是 PHP 5.1 新加的。//max_length 可選。規定讀取的位元組數。該參數是 PHP 5.1 新加的。echo str_replace("\n", '<br/>', $content);}else{echo 'not file';}}//操作檔案第三種方法  自己會關閉流 解析一個設定檔public static function operation_t($filePath){if(file_exists($filePath))//判斷{$content = parse_ini_file($filePath);//函數解析一個設定檔,並以數組的形式返回其中的設定。//parse_ini_file(file,process_sections)//file 必需。規定要檢查的 ini 檔案。//process_sections 可選。如果設定為 true,則返回一個多維陣列,包括了設定檔中每一節的名稱和設定。預設是 false。var_dump($content);}else{echo 'not file';}}//操作檔案第四種方法public static function operation_four($filePath){if(file_exists($filePath))//判斷{$rFile = fopen($filePath, 'a+');$str = "";          $buffer = 1024;           //while迴圈讀取,適合大檔案          try{         while(!feof($rFile))         {              $str = fread($rFile,$buffer);  //file 必需。規定要讀取開啟檔案。length 必需。規定要讀取的最大位元組數。            $str = str_replace("\n","<br/>",$str);              echo $str;           }          }catch(Exception $e){fclose($rFile);        throw new Exception($e->getMessage(), 1);         }       fclose($rFile);}else{echo 'not file';}}//操作檔案讀寫public static function operation_rw($filePath){if(file_exists($filePath))//判斷{$content = file_get_contents($filePath);$file = "D:/soft/phptools/testW.txt";echo $content;file_put_contents($file,//data,mode,$content);//file 必需。規定要寫入資料的檔案。如果檔案不存在,則建立一個新檔案。//data 可選。規定要寫入檔案的資料。可以是字串、數組或資料流。//mode可選。規定如何開啟/寫入檔案。可能的值:    FILE_USE_INCLUDE_PATH    FILE_APPEND    LOCK_EX//context 可選。規定檔案控制代碼的環境。context 是一套可以修改流的行為的選項。若使用 null,則忽略。}else{echo 'not file';}}//操作檔案讀寫二public static function operation_rw_t($filePath){if(file_exists($filePath))//判斷{$rFile = fopen($filePath, 'a+');$length = filesize($filePath);$content = fread($rFile,$length);//file 必需。規定要讀取開啟檔案。length 必需。規定要讀取的最大位元組數。$file = "D:/soft/phptools/testW.txt";$wFile = fopen($file, 'a+');fwrite($wFile, $content);//echo str_replace("\n", '<br/>', $content);fclose($rFile);fclose($wFile);}else{echo 'not file';}}}function ioTest($fPath){$ioOper = new IoOperation();//$ioOper->operation_f($fPath);//第一種方法測試//$ioOper->operation_s($fPath);//第二種方法測試//IoOperation::operation_s($fPath);//第二種方法測試 靜態方法的調用//IoOperation::operation_t("D:/soft/phptools/php.ini");//第三種方法測試 靜態方法的調用//IoOperation::operation_four($fPath);//第四種方法測試 靜態方法的調用//IoOperation::operation_rw($fPath);//讀寫方法IoOperation::operation_rw_t($fPath);//讀寫方法}ioTest("D:/soft/phptools/test.txt");?>

曾經我是有夢想的。加油。

dong的世界

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.