我對形式的日誌文件(log.txt
):從字符串匹配後的文本文件獲取文件名 - PHP
=========================================
March 01 2050 13:05:00 log v.2.6
General Option: [default] log_options.xml
=========================================
Loaded options from xml file: '/the/path/of/log_options.xml'
printPDF started
PDF export
PDF file created:'/path/of/file.1.pdf'
postProcessingDocument started
INDD file removed:'/path/of/file.1.indd'
Error opening document: '/path/of/some/filesomething.indd':Error: file doesnt exist or no permissions
=========================================
March 01 2050 14:15:00 log v.2.6
General Option: [default] log_options.xml
=========================================
Loaded options from xml file: '/the/path/of/log_options.xml'
extendedprintPDF started
extendedprintPDF: Error: Unsaved documents have no full name: line xyz
注:每個文件名的格式爲:3lettersdatesomename_LO.pdf/INDD 。例如:MNM011112ThisFile_LO.pdf。另外,在給定的時間和日期,條目可能只有錯誤,只是關於所創建的文件的消息,或者兩者都有,就像我在這裏顯示的那樣。
該文件繼續這種方式。而且,我在形式的分貝:
id itemName status
1 file NULL
等等......
現在,我預計要在日誌文件和創建的每個文件或是否有在錯誤,我應該用相應的消息更新數據庫的最後一列:創建的文件或錯誤。我想到搜索字符串「PDF文件創建/錯誤」,然後抓取文件名。
我嘗試了各種東西,如pathinfo()
和strpos
。但是,我似乎無法理解我將如何完成它。
有人可以請我提供一些關於如何解決這個問題的意見嗎? txt文件和db非常大。
注意:我提供了日誌文件的第二項,以清楚顯示錯誤的格式不一致。我想知道我是否仍然可以實現我應該以錯誤格式不一致的方式。 有人在再次閱讀整個問題後請幫忙嗎?從我第一次發佈這個以來,發生了很多變化。
你可以在日誌中發佈行的格式而不是「更多信息」嗎?如果你需要文本處理,你必須先找到一個模式。 – Udan
您是否可以發佈至少一整行錯誤?然後我們可以看到一個匹配的正則表達式。如果您可以在文件中發佈大約10個不同的錯誤行,這將是很好的 –
使文件格式更清晰。該文件只是繼續這樣。對於某些日期/時間,有多個PDF創建和錯誤。隨着每個PDF被創建,.indd文件被刪除。 –