2017-08-14 89 views
1

在我的服務器上運行的一個php應用程序,我想自動暫停一些操作。如何將代碼發送給自己?

通常情況下,我需要點擊一個按鈕來做到這一點,但我想添加一些代碼來自動執行此操作。所以我會檢查我們的時間,然後暫停或再次運行。

因爲這不是我的應用程序,代碼也很複雜 - 我想發送GET代碼請求給你自己。

我可以用$_SERVER['PHP_SELF']以某種方式做到這一點嗎?

這是GET正在發送當我按下按鈕:

http://xxx/index.php?Page=Schedule&Action=Pause&job=175 

例如

if(check_date()){ 
    send GET request to Pause 
}else{ 
    send GET request to RUN 
} 
+0

檢查cURL功能。您可以使用它們發送請求。 –

+0

cURL是一種靈活而強大的方法,用於製作任何http請求。對於簡單的GET請求,你也可以嘗試file_get_contents。 – yanman1234

回答

0

嘗試睡眠功能

if(check_date()){ 
sleep(specify duration in seconds); 
} 
else{ 
send GET request to RUN 
} 
+0

但是如何從服務器中的代碼發送GET請求? – cyprian

+0

您可以在特定的持續時間使用cronjob。 –

+0

不,代碼在crone中處理,但我想添加額外的行來檢查時間併發送GET請求。但我不知道如何發送這個GET請求? – cyprian

0
function get($url) 
{ 
    $ch = curl_init(); 

    curl_setopt($ch,CURLOPT_URL,$url); 
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 

    $output=curl_exec($ch); 

    curl_close($ch); 
    return $output; 
} 

echo get("http://xxx/index.php?Page=Schedule&Action=Pause&job=175"); 

只是調用這個獲取函數當你想發送http GET請求時。它採用捲曲做到這一點

0

您可以使用

$data = file_get_contents('http://xxx/index.php?Page=Schedule&Action=Pause&job=175'); 
0

那麼簡單的方式做你正在嘗試做的也許是創建一個表單並提交它像這樣:

if(check_date()){ 

    echo "<form name='frm' method='get' action='http://www.zxc.com/index.php'> 
      <input type='hidden' name='Page' value='Schedule'> 
      <input type='hidden' name='Action' value='Pause'> 
      <input type='hidden' name='job' value='175'> 
     </form>"; 

    echo '<script type="text/javascript">'; 
    echo 'document.frm.submit();'; 
    echo '</script>'; 
}else{ 
    //other thing you want to do 
}