簡體   English   中英

根據php中的文件夾狀態進行文件夾監控和事件觸發

[英]Folder monitoring and event triggering according to folder status in php

當事件發生時,有一個文件夾在其中沒有特定時間復制xml文件。 我想用php方式檢查文件夾的狀態,當xml文件到達時,會觸發一個事件。(ex.call到xml解析器)。 那么這是監視文件夾並根據它的狀態觸發事件的最佳方式(在php中)? 感謝名單!

沒試過,但也許Inotify可以幫助你:

inotify是一個Linux內核子系統,用於擴展文件系統以注意對文件系統的更改,並將這些更改報告給應用程序。

有一個用於inotify的PHP擴展,請參閱Inotify 文檔inotify PECL

如果你在linux上運行,另一種選擇是使用獨立於PHP的守護進程來監視目錄的變化。 您可以使用dnotify (由inotify廢棄),例如:

dnotify -a -r -b -s /path/ -e <command>;

每次修改其他文件夾中的一個文件時,它都會執行命令(-a -r -b -s =任何訪問/遞歸目錄查找/在后台/無輸出中運行)。

有關:

你應該看看FAM(文件更改監視器) 基於PHP 4的二進制擴展(beta狀態); 文件

我認為最簡單的方法是使用cron job每分鍾檢查一次文件夾。 另一個選項是從另一個腳本/程序觸發您的php腳本,該腳本/程序將新的xml文件復制到該目錄。 Cron使您可以每分鍾運行腳本。 如果您想要即時響應,您應該編寫一個shell腳本(http://aplawrence.com/Unixart/watchdir.html),constanlty在后台運行,或者可能是珍珠守護程序,您可以檢測新文件並觸發您的php腳本來檢查更改。

使用cron定期scandir()目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM