2013-07-08 224 views
0

我想這個代碼刷新本身&將數據發佈到sendingms.php但不應該重定向並保留在這個page.tus每次刷新它下載新的數據併發布到sendingms.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

使用cURL在sendms.php上發佈數據 – Fallen

回答

0

我建議通過crontab運行它。

你有兩個選擇,第一個是更好:

  1. 服務器作爲一個shell腳本直接運行文件。
  2. 使用curl或wget訪問Web服務器上的文件。

第一種方案會是這個樣子:

* * * * * /usr/bin/php /my/home/path/script.php 

第二種情況是相似的:

* * * * * curl http://example.com/path/to/file/script.php 

這不是你要的到底是什麼,當然。如果你希望這個頁面簡單地坐在一個網絡瀏覽器並重新加載每n秒,你可以使用JavaScript和jQuery的一些AJAX:

<script type="text/javascript"> 
var timer = setInterval(function() { 
    $.post('/sendsms.php', { data: yourdata }, function (data) { 
    console.log(data); 
    }); 
}, 15000); 
</script> 

希望這有助於!

0

任何標準刷新都不會重新發布數據。根據瀏覽器的不同,它可能會發出一個正常的GET請求,或者瀏覽器會要求您確認POST數據重新提交。

您可以通過在html中創建表單並在POST數據中將所需的所有變量添加到該表單中來執行所需操作,如< input type =「hidden」>。然後,您可以使用JavaScript提交該表單(在所需延遲之後 - 15秒內)。