2017-08-14 53 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 
}