【问题标题】:how to call current file in php?如何在php中调用当前文件?
【发布时间】:2019-06-01 22:15:19
【问题描述】:

在我的代码中,我正在进行 curl 调用,在得到响应后,如果没有得到正确的响应,我将调用当前文件。像这样,

<?php
include 'fauxapi_client.php';
$obj = new Fauxapi_client;

$url=$obj->base_url.'/Fauxapi_client/device_version_update';
$version = trim(file_get_contents('/usr/local/www/version.txt'));
$iso_version = trim(file_get_contents('/usr/local/www/iso_version.txt'));
$temp = array('device_ip'=>$obj->current_device_ip,'version'=>$version,'iso_version'=>$iso_version);
$temp = http_build_query($temp);
$headers[] = 'Content-Type: application/x-www-form-urlencoded; charset=utf-8';
$ch = curl_init();
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,0); 
curl_setopt($ch, CURLOPT_TIMEOUT, 40);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $temp);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
$output = curl_exec ($ch);
curl_close ($ch);
if ($output === false) {
    echo 'Curl Call Fail';
}
else{
    $response = json_decode($output,true);
    if (isset($response['data']['next_version'])) {
        file_put_contents('/usr/local/www/version.txt', trim($response['data']['next_version']));
        if (floatval($response['data']['max_updatable_version']) > floatval($response['data']['next_version'])) {
            shell_exec("/usr/local/bin/php /usr/local/www/version_update.php");
        }
    }
    else{
        echo 'next_version is not in response ';
    }
}
var_dump($output);
?>

在上面的代码中

shell_exec("/usr/local/bin/php /usr/local/www/version_update.php"); 

是当前文件调用。 当我echo 那里有东西时,它会echo 但不调用当前文件。那么,如何在那里调用当前文件呢?

【问题讨论】:

标签: php


【解决方案1】:

你确定php后面有多余的空间吗? bin/php / 如果/usr/local/bin/php /usr/local/www/version_update.php 是当前文件,您可以使用__FILE__ 代替它。 请确保足够的权限。

【讨论】:

  • FILE 之后使用没有任何成功。
猜你喜欢
  • 2010-12-25
  • 2012-01-08
  • 1970-01-01
  • 1970-01-01
  • 2015-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多