首頁 後端開發 php教程 php使用多个进程同时控制文件读写示例_PHP

php使用多个进程同时控制文件读写示例_PHP

Jun 01, 2016 am 11:56 AM
檔案讀寫

复制代码 代码如下:
/**
 * 写入数据
 * @param  [string] $path [文件路径]
 * @param  [string] $mode [文件打开模式]
 * @param  [string] $data [数据]
 * @return [bool]      
 */
function writeData($path, $mode, $data){
       $fp = fopen($path, $mode);
       $retries = 0;
       $max_retries = 100;
       do {
        if ($retries > 0) {
         usleep(rand(1, 10000));
        }
        $retries += 1;
       }while (!flock($fp, LOCK_EX) and $retries        if ($retries == $max_retries) {
        return false;
       }
       fwrite($fp, $data."\r\n");
       flock($fp, LOCK_UN);
       fclose($fp);
       return true;
}


/**
 * 读数据
 * @param  [string] $path [文件路径]
 * @param  [string] $mode [文件打开模式]
 * @return string     
 */
function readData($path,$mode){
     $fp = fopen($path, $mode);
     $retries = 0;
     $max_retries = 100;
     do {
      if ($retries > 0) {
       usleep(rand(1, 10000));
      }
      $retries += 1;
     }while (!flock($fp, LOCK_SH) and $retries      if ($retries == $max_retries) {
      return false;
     }
     $contents = "";
     while (!feof($fp)) {
        $contents .= fread($fp, 8192);
     }
     flock($fp, LOCK_UN);
     fclose($fp);
     return $contents;
}

writeData('D:/webServer/demo.txt','a+','this is a demo');
echo readData('D:/webServer','r+');

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1662
14
CakePHP 教程
1419
52
Laravel 教程
1312
25
PHP教程
1262
29
C# 教程
1235
24
如何在 Golang 中使用管道實作文件讀寫? 如何在 Golang 中使用管道實作文件讀寫? Jun 04, 2024 am 10:22 AM

透過管道進行檔案讀寫:建立一個管道從檔案讀取資料並透過管道傳遞從管道中接收資料並處理將處理後的資料寫入檔案使用goroutine並發執行這些操作以提高效能

如何優化C++開發中的檔案讀寫效能 如何優化C++開發中的檔案讀寫效能 Aug 21, 2023 pm 10:13 PM

如何優化C++開發中的檔案讀寫效能在C++開發過程中,檔案的讀寫操作是常見的任務之一。然而,由於檔案讀寫是磁碟IO操作,相對於記憶體IO操作來說會更耗時。為了提高程式的效能,我們需要優化文件讀寫操作。本文將介紹一些常見的最佳化技巧和建議,幫助開發者在C++檔案讀寫過程中提升效能。使用適當的文件讀寫方式在C++中,文件讀寫可以透過多種方式實現,如C風格的文件IO

如何解決Python的檔案未關閉錯誤? 如何解決Python的檔案未關閉錯誤? Jun 25, 2023 am 08:52 AM

Python是一種高階程式語言,廣泛應用於資料科學、人工智慧等領域。在Python程式設計中,經常會遇到檔案未關閉的錯誤,這可能會導致程式崩潰,資料遺失等問題,因此解決檔案未關閉錯誤是Python程式設計中必備的技能。本文將介紹如何解決Python的檔案未關閉錯誤。一、什麼是文件未關閉錯誤?在Python中,開啟檔案時需要使用open()函數,

Java開發中如何優化文件讀寫效能 Java開發中如何優化文件讀寫效能 Jul 01, 2023 pm 06:21 PM

Java是一种广泛应用于软件开发的编程语言,具有高度的可移植性和灵活性。在Java开发过程中,文件的读写操作是十分常见的任务之一。然而,文件读写的性能可以对应用程序的整体性能产生重要的影响。因此,了解如何优化文件读写性能是非常重要的。首先,优化文件读写性能的关键是减少磁盘访问次数。磁盘I/O是一项相对较慢和昂贵的操作,所以减少磁盘访问次数可以显著提高文件读写

如何使用 Golang 擴充檔案讀寫功能? 如何使用 Golang 擴充檔案讀寫功能? Jun 03, 2024 am 09:24 AM

如何擴充Go檔案讀寫功能:使用io套件進行通用輸入輸出操作,例如從檔案讀取到記憶體緩衝區。使用os包進行作業系統檔案系統操作,例如建立、刪除和重新命名檔案。結合使用這些套件進行複雜的操作,例如讀取檔案並統計單字數量。

透過Java中的FileReader和FileWriter類別實現基礎的文件讀寫功能 透過Java中的FileReader和FileWriter類別實現基礎的文件讀寫功能 Dec 28, 2023 am 10:39 AM

使用FileReader和FileWriter類別實作簡單的Java檔案讀寫檔案讀寫是日常程式設計中非常常見的操作之一,Java提供了多種用於文件讀寫的類別和方法。其中,FileReader和FileWriter是兩個常用的類,用於讀取和寫入文字檔案。 FileReader類別用於讀取文字文件,可以按字元或按字元陣列的方式讀取文件內容。 FileWriter類別用於寫入

Java錯誤:文件讀寫錯誤,如何解決與避免 Java錯誤:文件讀寫錯誤,如何解決與避免 Jun 24, 2023 pm 02:11 PM

Java錯誤:文件讀寫錯誤,如何解決和避免在Java程式設計中,文件讀寫是一個非常常見的操作,但是在進行文件讀寫時可能會遇到各種錯誤,其中文件讀寫錯誤可能是最常見的一種。本文將討論Java文件讀寫錯誤的原因、解決方法和避免方法。文件讀寫錯誤的原因在Java中,文件讀寫錯誤的原因主要有以下幾種:文件不存在或路徑錯誤:當指定的文件不存在或路徑錯誤時,Java無法打開

PHP開發如何處理文件讀寫權限問題 PHP開發如何處理文件讀寫權限問題 Jul 01, 2023 am 10:40 AM

PHP作為一種開發語言,常常需要涉及文件讀寫操作,但是在實際開發中,我們常常會面臨一個問題,也就是文件讀寫權限的處理。本文將介紹一些PHP開發中如何處理文件讀寫權限問題的方法與技巧。檔案讀寫權限是指作業系統對檔案的讀取和寫入的權限設定。在一個網頁應用程式中,常常需要對檔案進行讀取和寫入操作,例如使用者上傳檔案、檔案下載等。而文件讀寫權限就是決定了哪些使用者可以對文件進

See all articles