2013-06-04 51 views
0

我已經完成了搜索,但是我找不到與我所需要的任何東西有關的東西。我不確定我是否正確搜索它。我有一個通過PHP創建的XML文件,並使用表單中的數據填充。我想要做的是在X時間後刪除該XML文件中的某些條目。有沒有一個簡單的方法來做到這一點,或者甚至可以做到這一點。我正在考慮由CRON運行的一些php腳本檢查XML文件並在X時間後按時間戳刪除某些條目。有人可以提供一些建議,或讓我指出正確的方向嗎?在一段時間後刪除XML條目

- 謝謝!

+0

你的建議聽起來是一個很好的解決方案,嘗試使用CRON來運行一個刪除舊條目的PHP腳本。另一種選擇可能是使用豆莖,併爲工作人員創建延遲的工作來清理舊的條目,但是這可能比必要的更復雜,這取決於這個問題的上下文 – Pudge601

+0

是的,我找不到PHP的任何示例腳本,將做我所需要的。談到PHP時,我只是一個新手。如果我能找到一個例子或某些我可以解決的問題,我可以搞清楚,但我的搜索結果是空的。 – Texan78

+0

那麼,這更多的是如何使用PHP從XML文檔中刪除節點的問題? – Pudge601

回答

0

要從PHP腳本中的XML文件中刪除舊節點,您需要使用(例如)SimpleXMLhttp://www.php.net/manual/en/simplexml.examples-basic.php)庫來解析XML文件。

然後,您可以檢查每個有問題的節點,以查看timestamp屬性/子值是否小於當前時間 - 12小時,如果是,則刪除該節點。

這假設節點有時間戳屬性或值 - 你可能需要增加這個在您創建的PHP的XML,例如

<anode created="2013/06/04 12:00"> 
    // 
</anode> 

最後,執行日期比較,你會想要使用類似於以下內容的if語句;

$timestamp = strtotime($domElement->getAttribute('timestamp')); 
if ($timestamp < strtotime('now - 12 hour')) { 
    // remove node 
} 
+0

謝謝,我確實有一個時間戳元素。這就是我一起扔的東西。這將工作。唯一不確定的是「VAULEYOUCAREABOUT」部分。哪個應該是檢查年齡正確的部分? http://codepad.org/4g7nz1TQ這是XML文件。 http://www.mesquiteweather.net/xml/mesquite.xml – Texan78

+0

編輯包含比較以確定時間戳是否超過12小時 – Pudge601

+0

這是正確的嗎? http://codepad.org/9tUj2FS5我已經搞了幾個小時,但它不會刪除任何東西。它應該刪除所有,因爲它不到一個小時。這裏是XML http://www.mesquiteweather.net/xml/mesquite.xml,當我回應php正在保存的內容時,輸出如下。 http://www.mesquiteweather.net/xml/update.php但它仍然顯示一切。 http://www.mesquiteweather.net/wxmesqLSR.php我不知道我缺少什麼。 – Texan78

相關問題