我想要这个代码刷新自己&将数据发布到sendsms.php但不应重定向并保留在此页面上。每次刷新时都会下载新数据并发布到sendsms.php。 PLZ建议我有什么想法吗?
<?php
$page = $_SERVER['PHP_SELF'];
$sec = "15";
header("Refresh: $sec; url=$page");
$url=$_REQUEST['url'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$html= curl_exec($ch);
curl_close($ch);
//parsing begins here:
$doc = new DOMDocument();
@$doc->loadHTML($html);
$nodes = $doc->getElementsByTagName('title');
//get and display what you need:
$title = $nodes->item(0)->nodeValue;
$first = current(explode("|", $title));
$to="888888888";
header('Location: sendsms.php?to=' .$to .'&sms=' .$first);
?>
答案 0 :(得分:0)
我建议通过crontab运行它。
你有两个选择,第一个是更好的选择:
第一种情况看起来像这样:
* * * * * /usr/bin/php /my/home/path/script.php
第二种情况类似:
* * * * * curl http://example.com/path/to/file/script.php
当然,这并不是你要求的。如果您希望此页面只是位于Web浏览器中并且每n秒重新加载一次,您可以使用JavaScript和一些jQuery AJAX:
<script type="text/javascript">
var timer = setInterval(function () {
$.post('/sendsms.php', { data: yourdata }, function (data) {
console.log(data);
});
}, 15000);
</script>
希望这有帮助!
答案 1 :(得分:0)
任何标准刷新都不会重新发布数据。根据浏览器,它会发出通常的GET请求,或者浏览器会要求您确认重新提交POST数据。
您可以通过在html中创建表单并将POST数据中所需的所有变量添加到该表单中来执行您所需的操作&lt;输入类型=&#34;隐藏&#34;取代。然后,您可以使用javascript提交该表单(在所需的延迟后 - 在您的情况下为15秒)。