我正試圖創建一個使用php發送應用程序的簡單通訊。我想知道是否可以在PHP中創建一個腳本,即使瀏覽器已關閉,腳本也可以繼續運行。我怎樣才能在PHP中創建循環並跟蹤其完整性
我已經寫代碼
<?php
include "db.php";
$newsletterid=$_GET['id'];
$t="select * from tbl_newsletters where newsletterid='".$newsletterid."'";
$q=mysql_query($t);
$r=mysql_fetch_array($q);
$Subject=$r['subject'];
$Message=$r['message'];
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: '.$_SESSION['login_name'].'<'.$email.'>' . "\r\n";
$headers .= 'From: My Newsletter Manager <[email protected]>' . "\r\n";
$t="select email from tbl_subscribers where status='SUBSCRIBED'";
$q=mysql_query($t);
while($r=mysql_fetch_array($q))
{
$addresses[]=$r['email'];
}
foreach($addresses as $address)
{
mail($address,$Subject,$Message,$headers) or die("Cannot Send Email");
$t="insert into tbl_activities set
username='".$_SESSION['login_name']."',
activity='Sent News Letter [$Subject] to $address',
date='".date("Y-m-d H:i:s")."',
status='SUCCESS'
";
mysql_query($t) or die("Error Saving to Database");
}
?>
我有點相信這個腳本的時候,發送簡訊給所有用戶,但如果通訊運營商關閉瀏覽器會發生什麼作品。這個腳本會在foreach循環完成之前不斷髮送新聞稿嗎?
即使此腳本正常工作,我願意爲每個發送的郵件顯示一個進度條,操作員可以隨時查看他/她希望的任何時間。
同時我希望我可以防止操作員重新發送通訊,直到前一個完成?
我不是專家,沒有OOP和Class實例的高級知識嗎?
如何使用php創建服務器端進程?你能建議我學習任何鏈接或有一個簡單的代碼片段嗎? – Prajwal
PHP代碼確實在服務器上運行,所以在用戶中止後運行的PHP腳本是「服務器端進程」。我的建議是,你用不同的語言和環境編寫長期運行的代碼,更適合這項工作。使用哪些語言和框架是一個很大的問題,超出了你的問題範圍。 –