2012-11-23 20 views
0

所有隻將數據追加到文本文件, 我有我的服務器上運行的是通過收到的短信到短信網關應用PHP腳本。該腳本將數據寫入文本文件。消息的某些方面可以作爲變量提取 - 例如:消息內容:$ msgdata發件人:$發件人時間:$ receivedtime等等...... 使用下面的腳本,我可以很容易地將消息寫入文本文件,但它會寫入每一個進來的短信數據,我只是想寫一個文本文件,如果$鼻祖變量是有一定的電話號碼(如07123456321)HTTP_POST()從短信變量到PHP腳本,但如果某些變量(電話號碼)等於已知

$date = date("d.m.Y H:i:s"); 
$msgdata = $_REQUEST["msgdata"]; 
$myFile3 = "test.txt"; 
$fh = fopen($myFile3, 'a') or die("can't open file"); 
$stringData3 = "$date - $msgdata\n"; 
fwrite($fh, $stringData3); 
fclose($fh); 

你的援助鈹大加讚賞。 非常感謝提前。

回答

1

既然你不能對傳入的消息的print_r可以frite $ MSGDATA = $ _REQUEST [ 「MSGDATA」];到你的txt文件。 然後,所有你需要做的就是打開txt文件,並看看$鼻祖鍵,然後說:

if($msgdata->originator_key == '07123456321'){ 
     //your function for writing to file here 
    } 

如果我理解正確的問題。

+0

感謝您的回覆。如果$ originator變量= 07123456321,我只想寫消息(運行寫腳本)。上面的腳本是否這樣做?歡呼 – Martyn

+0

首先您需要從您的原始數據中獲取關鍵名稱。如果$ _REQUEST [「msgdata」]是我告訴過你的消息的所有元素,那麼你必須將原始消息寫入文件,爲發起者獲取密鑰名稱。獲得該密鑰名稱後,您會說如果(rawdata-> keyname =='number'){執行此操作} – pregmatch

+0

或將該原始郵件發送到您的電子郵件並在此處粘貼數據,以便我們可以看到原始郵件的外觀。這是你如何(發送電子郵件)。 foreach($ _ REQUEST as $ key => $ value){ \t \t $ msg_send。=「」。$ key。「=」。$ value。「\ r \ n」; \t} \t mail(「youemailhere」,「subject here」,$ msg_send); – pregmatch