我在SO中搜索了很多关于后台运行中的php文件的Q / A. 但最终问我自己。
我拥有什么:我有三个php文件
sim-no
)和一个提交按钮)和一个包含另一个php的require_once档案send_sms.php
。sendsms
)延迟了30秒,该消息存储在{{ 1}}。sss.php
),其中包含三个参数:sendsms
,countrycode
和mobilenumber
。我想要什么:我想运行在后台发送邮件的php脚本。那么,当我进入一个手机没有。然后点击提交按钮,它将开始在后台向该号码发送消息,并允许我输入另一个手机号码,依此类推。
我已经尝试了很多东西,因为你可以在代码中看到一些但却无法真正做到。
代码:
sms.php
message
send_sms.php
<!DOCTYPE html>
<body>
<center>
<div id="login-form">
<form action="<?php $_PHP_SELF ?>" method="POST">
<table align="center" width="30%" border="0">
<tr>
<td> Sim Numbers : </td>
<td> <input type = " text" name="sim-no" id = "sim-no" placeholder = " Please enter Mobile Number." /></td>
</tr>
<tr>
<td><input type="submit" name="sms" /></td>
</tr>
</table>
</form>
</div>
</center>
</body>
</html>
<?php
session_start();
require_once 'send_sms.php';
$_SESSION['sim-no'] = $_POST["sim-no"];
$descriptorspec = array(
array('pipe', 'r'), // stdin
array('file', '$_POST["sim-no"].txt', 'a'), // stdout
array('pipe', 'w'), // stderr
);
if(($_SESSION['sim-no'] > 1000000000) && ($_SESSION['sim-no'] < 9999999999))
{
$proc = proc_open('php send_sms.php &', $descriptorspec, $pipes);
}
else
{
echo "Invalid Number !! " ;
}
?>
sss.php
包含功能
<?php
session_start();
$sim-no = $_SESSION['sim-no'];
ignore_user_abort(1)
require_once'sss.php' ;
$countrycode=91;
echo $sim-no ;
$mobilenumber= $sim-no ;
$message="begin030815";
$sms_status=sendsms($countrycode,$mobilenumber,$message);
sleep(30);
$message="begin123456";
$sms_status=sendsms($countrycode,$mobilenumber,$message);
sleep(30);
$message="password123456+030815";
$sms_status=sendsms($countrycode,$mobilenumber,$message);
sleep(30);
$message="itv030815+60+3600";
$sms_status=sendsms($countrycode,$mobilenumber,$message);
sleep(30);
$message="tracker030815";
$sms_status=sendsms($countrycode,$mobilenumber,$message);
sleep(30);
$message="lowbattery030815+1";
$sms_status=sendsms($countrycode,$mobilenumber,$message);
sleep(30);
$message="extpower030815+1";
$sms_status=sendsms($countrycode,$mobilenumber,$message);
sleep(30);
$message="adminip030815+110.173.191.194+6000";
$sms_status=sendsms($countrycode,$mobilenumber,$message);
sleep(30);
$message="gprs030815+1";
$sms_status=sendsms($countrycode,$mobilenumber,$message);
sleep(30);
$message="apn030815+rcomnet";
$sms_status=sendsms($countrycode,$mobilenumber,$message);
echo "Messages Sent !! " ;
?>
答案 0 :(得分:1)
您可以使用以下概念:
当您提交表单并将数据发送到send_sms.php文件时,请获取数据并关闭与该文件的连接。
如下所示:
scanf()