PHP文件操作

来源:http://www.cnblogs.com/suvllian/archive/2016/06/03/5555925.html
-Advertisement-
Play Games

一、fstat函數:顯示文件的所有信息 二、文件讀取: 三、寫入文件: 四、文件操作的應用: 五、拷貝文件: 六、創建文件 創建文件夾: 創建文件: 七、刪除文件: 刪除文件夾: 刪除文件: ...


  一、fstat函數:顯示文件的所有信息

$file_path = "test.php";
if($fp=fopen($file_path,"a+")){
    $file_info=fstat($fp);
    echo "<pre>";
    print_r($file_info);
    echo "</pre>";
    echo "文件大小為".$file_info['size'];
    echo "文件上次訪問時間".date("Y-m-d H:i:s",$file_info['mtime']);
}
fclose($fp);    //一定要關閉
 

  二、文件讀取:

//第一種:
$con = fread($fp,filesize($file_path));
$con = str_replace("\r\n","<br>",$con);
echo "文件內容是".$con;

//第二種:將文件一下全部讀取
$con = file_get_contents($file_path);
$con = str_replace("\r\n","<br>",$con);
echo "文件內容是".$con;

//第三種:一段一段讀取
$buffer = 1024;  
//為了下載的安全,最好使用文件位元組讀取計數器
$file_count = 0;
//feof用於判斷文件是否讀取到文檔尾
while(!feof($fp) && ($file_size-$file_count>0)){
$file_data = fread($fp,$buffer);
//統計讀了多少個位元組
$file_count+$buffer;
echo $file_data;   
}

  三、寫入文件:

   //1、傳統方法寫入文件
    $file_path = "test.txt";
    if(file_exists($file_path)){
        $fp = fopen($file_path,"a+");
        //打開方式:a+是追加內容。w+是覆蓋原來的。
        $con = "Hello!\r\n";
        fwrite($fp,$con);
        echo "添加成功!";
    }else{
        echo "文件不存在";
    }
    fclose($fp);

    //2、第二種方法寫入文件
    $file_path= "test.txt";
    $con = "北京你好!\r\n";
    file_put_contents($file_path,$con,FILE_APPEND);
    echo  "成功";

  四、文件操作的應用:

//可以操作ini文件。將伺服器的配置寫在ini文件中,再對其進行操作。
    dbc.ini
    host=192.168.0.1
    admin=admin
    password=123456    
demo.php
    <?php
        $con = parse_ini_file("dbc.ini");
        print_r($con);    
        ?>    
//將ini文件中的數據以數組形式讀出,可以對其進行操作。

  五、拷貝文件:

if(!copy("E:\\test.txt","D:\\1.txt")){
    echo "fail";
}else{
    echo "success";
}

  六、創建文件

  創建文件夾:

//$path = "E:\\happy";  //文件夾路徑
$path = "E:\\happy\aaa\bbb"; //多級文件夾
if(!is_dir($path)){
    if(mkdir($path,0777,true)){
        echo "success";
    }else{
        echo "fail";
    }
}else{
    echo "文件夾已存在";
}

  創建文件:

$file_path = "E:\\happy.txt";
$fp = fopen($file_path,"w+");
fwrite($fp,"hello");
fclose($fp);

  七、刪除文件:

  刪除文件夾:

$path = "E:\\happy\aaa\bbb"; //多級文件夾
if(rmdir($path)){
    echo "success";
}
//rmdir只能刪除空文件夾,文件夾下有文件或目錄均不能刪除。

    刪除文件:

$file_path = "E:\\happy.txt";
if(is_file($file_path)){
    if(unlink($file_path)){
        echo "success";
    }else{
        echo "fail";
    }
}else{
    echo "文件不存在";
}

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • //設備在地圖上進行標註 function GetGateInfo(vSID, vMap) { var icon = "../Content/easyui/themes/icons/gate.png"; var myIcon = new BMap.Icon(icon, new BMap.Size(3 ...
  • 一、編輯器簡介 寫這個控制項之前總想找一找開源的,可以偷下懶省點事。可是各種地方都搜遍了也沒有找到。 於是,那就做第一個吃螃蟹的人吧! 控制項主要有三個功能:塗鴉、裁剪、合成。 塗鴉:主要是用到了InkToolbar和InkCanvas。 裁剪:這個用到的比較複雜,源碼會公佈出來。 合成:將塗鴉圖層按比 ...
  • 1.設置WinForm窗體屬性showinTask=false 2.加notifyicon控制項notifyIcon1,為控制項notifyIcon1的屬性Icon添加一個icon圖標。 3.添加窗體最小化事件(首先需要添加事件引用): 4.添加點擊圖標事件(首先需要添加事件引用): private v ...
  • 模型驗證(Model Validation):是確保用戶接收的數據適合於綁定的模型,並且在不合適時,給用戶提供有用的信息,以幫助他們修正其問題的過程。 模型驗證過程一:檢查接收的數據——是保持域模型完整性的方式之一。 模型驗證過程二:幫助用戶修正問題。 示例項目介紹 項目模板:Basic 項目名稱: ...
  • ApiView是.net api的介面文檔查看網站,用於解決分散式開發過程中的Api介面管理和溝通問題。 自動生成api文檔; 方便調試及第三方開發人員對接,可以應用在asp.net mvc,wcf,webservice 中使用; 代碼及原理都很簡單,方便修改和完善。 ...
  • 在傳統的Spring MVC開發方法中,必須在Bean配置文件中為每個控制器類配置實例和請求映射和讓每個控制器類去實現或者擴展特定於框架的介面或者基類,不夠靈活。 如果Spring MVC可以自動偵測你的控制器類和請求映射,就能減少配置所需要的工作量。 Spring2.5支持一種基於註解的控制器開發 ...
  • Java 項目中常常回遇到發送郵件 Java 發送郵件有幾種,今天先給大家介紹用 HtmlEmail 來發送郵件,我這裡是用 Maven 來搭建的 HtmlEmail 可以抄帶HTML 首先 需要導入jar 包 然後我們來建立一個發送郵件的 Mail 類 JavaBean 然後再來創建一個發送郵件的 ...
  • 只需要加android:windowSoftInputMode="stateHidden|stateAlwaysHidden"就可以 如:<activity android:name=".My_Message" android:windowSoftInputMode="stateHidden|sta ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...