Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用setInterval()刷新部分php页面_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

Javascript 使用setInterval()刷新部分php页面

Javascript 使用setInterval()刷新部分php页面,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我的PHP页面上有一个值,我想用setInterval()每秒刷新一次 所以我实际上知道如何用html等刷新值,但现在我想用php值做同样的事情。这是我的密码: <script> setInterval(function() { <?php $urlMachineOnline = 'http://192.168.0.150/awp/Shredder/PLCfiles/MachineOnline.html'; // get content $contentMachin

我的PHP页面上有一个值,我想用
setInterval()
每秒刷新一次

所以我实际上知道如何用html等刷新值,但现在我想用php值做同样的事情。这是我的密码:

<script>
setInterval(function()
    {

<?php
$urlMachineOnline = 'http://192.168.0.150/awp/Shredder/PLCfiles/MachineOnline.html';

// get content
$contentMachineOnline = file_get_contents($urlMachineOnline);

//remove first 2 characters
$truncateMachineOnline = substr($contentMachineOnline, 2);

//remove last 5 characters
$MachineActivityMS = substr($truncateMachineOnline, 0, -5);

//Set the value to seconds
$MachineActivityS = floor($MachineActivityMS /1000);

$formatMachineActive = 'H:i:s'; 

$TimeMachineActive = gmdate($formatMachineActive, $MachineActivityS);

?>

},1000);

</script>

setInterval(函数()
{
},1000);
Ofc这不起作用,因为JS和php在一起不是很好。 在我的表格中,我只是有:

<table>
    <tr>
        <td>Activity:</td>
        <td><p id='MachineActivity'></p><?php echo $TimeMachineActive; ?></td>
    </tr>
</table>

活动:


所以现在的问题是,当我按f5时,它才刷新。但是现在我想要自动刷新。我知道
setInterval()
对html有用。php代码是否可以完成此操作?

刷新时,php会再次返回整个页面,并且无法刷新部分页面。因此,如果您只想刷新页面的一部分,则需要使用iframe

<body>
  <h1>This is my main PHP page</h1>
  <iframe src="[url-to-another-php-page-with-only-the-timer]"></iframe>
</body>

这是我的PHP主页

然后,您必须使用计时器值创建一个单独的php页面,并为html提供一个元标记——这个元标记将进行刷新。Meta标记在这张票证中有详细说明:

当您刷新时,PHP会再次返回整个页面,并且无法刷新页面的部分内容。因此,如果您只想刷新页面的一部分,则需要使用iframe

<body>
  <h1>This is my main PHP page</h1>
  <iframe src="[url-to-another-php-page-with-only-the-timer]"></iframe>
</body>

这是我的PHP主页

然后,您必须使用计时器值创建一个单独的php页面,并为html提供一个元标记——这个元标记将进行刷新。Meta标记在这张票证中有详细说明:

当您刷新时,PHP会再次返回整个页面,并且无法刷新页面的部分内容。因此,如果您只想刷新页面的一部分,则需要使用iframe

<body>
  <h1>This is my main PHP page</h1>
  <iframe src="[url-to-another-php-page-with-only-the-timer]"></iframe>
</body>

这是我的PHP主页

然后,您必须使用计时器值创建一个单独的php页面,并为html提供一个元标记——这个元标记将进行刷新。Meta标记在这张票证中有详细说明:

当您刷新时,PHP会再次返回整个页面,并且无法刷新页面的部分内容。因此,如果您只想刷新页面的一部分,则需要使用iframe

<body>
  <h1>This is my main PHP page</h1>
  <iframe src="[url-to-another-php-page-with-only-the-timer]"></iframe>
</body>

这是我的PHP主页

然后,您必须使用计时器值创建一个单独的php页面,并为html提供一个元标记——这个元标记将进行刷新。Meta标记在该票证中有详细说明:

您需要定义setInterval函数

function setInterval($f, $milliseconds)
{
    $seconds=(int)$milliseconds/1000;
    while(true)
    {
        $f();
        sleep($seconds);
    }
}

现在调用setInterval函数,它应该可以正常工作。

您需要定义setInterval函数

function setInterval($f, $milliseconds)
{
    $seconds=(int)$milliseconds/1000;
    while(true)
    {
        $f();
        sleep($seconds);
    }
}

现在调用setInterval函数,它应该可以正常工作。

您需要定义setInterval函数

function setInterval($f, $milliseconds)
{
    $seconds=(int)$milliseconds/1000;
    while(true)
    {
        $f();
        sleep($seconds);
    }
}

现在调用setInterval函数,它应该可以正常工作。

您需要定义setInterval函数

function setInterval($f, $milliseconds)
{
    $seconds=(int)$milliseconds/1000;
    while(true)
    {
        $f();
        sleep($seconds);
    }
}

现在调用set interval函数,它应该可以正常工作。

正如您所知,当您调用其URI时,PHP文件将使服务器生成一个页面。 您使用脚本的方式不会使服务器“重新生成”页面并更新值

假设这样,您可以:

  • 外部化setInterval函数中的php代码(例如:update\u time\u machine.php)

  • 调用外部化的PHP资源(使用IFrame或请求)

  • 使用PHP脚本输出,通过Jquery/JAVASCRIPT更新页面


编辑:Mihali的答案听起来最清晰。

正如您所知,当您调用其URI时,PHP文件将使服务器生成一个页面。 您使用脚本的方式不会使服务器“重新生成”页面并更新值

假设这样,您可以:

  • 外部化setInterval函数中的php代码(例如:update\u time\u machine.php)

  • 调用外部化的PHP资源(使用IFrame或请求)

  • 使用PHP脚本输出,通过Jquery/JAVASCRIPT更新页面


编辑:Mihali的答案听起来最清晰。

正如您所知,当您调用其URI时,PHP文件将使服务器生成一个页面。 您使用脚本的方式不会使服务器“重新生成”页面并更新值

假设这样,您可以:

  • 外部化setInterval函数中的php代码(例如:update\u time\u machine.php)

  • 调用外部化的PHP资源(使用IFrame或请求)

  • 使用PHP脚本输出,通过Jquery/JAVASCRIPT更新页面


编辑:Mihali的答案听起来最清晰。

正如您所知,当您调用其URI时,PHP文件将使服务器生成一个页面。 您使用脚本的方式不会使服务器“重新生成”页面并更新值

假设这样,您可以:

  • 外部化setInterval函数中的php代码(例如:update\u time\u machine.php)

  • 调用外部化的PHP资源(使用IFrame或请求)

  • 使用PHP脚本输出,通过Jquery/JAVASCRIPT更新页面


编辑:米哈利的答案听起来最清晰。

这就是如何将
php
值转换为
javascript
值的方法

<script>
setInterval(function(){
<?php
$urlMachineOnline = 'http://192.168.0.150/awp/Shredder/PLCfiles/MachineOnline.html';
// get content
$contentMachineOnline = file_get_contents($urlMachineOnline);
//remove first 2 characters
$truncateMachineOnline = substr($contentMachineOnline, 2);
//remove last 5 characters
$MachineActivityMS = substr($truncateMachineOnline, 0, -5);
//Set the value to seconds
$MachineActivityS = floor($MachineActivityMS /1000);
$formatMachineActive = 'H:i:s'; 
$TimeMachineActive = gmdate($formatMachineActive, $MachineActivityS);
?>
var n_val = "<?php echo $TimeMachineActive; ?>";
    console.log(n_val);
},1000);

</script>

setInterval(函数(){
var n_val=“”;
控制台日志(n_val);
},1000);
更换控制台,并根据您的愿望提供



但这是否会延长加载时间?每秒钟都在调用一个远程页面并进行检查?

这就是如何将
php
值转换为
javascript
值的方法

<script>
setInterval(function(){
<?php
$urlMachineOnline = 'http://192.168.0.150/awp/Shredder/PLCfiles/MachineOnline.html';
// get content
$contentMachineOnline = file_get_contents($urlMachineOnline);
//remove first 2 characters
$truncateMachineOnline = substr($contentMachineOnline, 2);
//remove last 5 characters
$MachineActivityMS = substr($truncateMachineOnline, 0, -5);
//Set the value to seconds
$MachineActivityS = floor($MachineActivityMS /1000);
$formatMachineActive = 'H:i:s'; 
$TimeMachineActive = gmdate($formatMachineActive, $MachineActivityS);
?>
var n_val = "<?php echo $TimeMachineActive; ?>";
    console.log(n_val);
},1000);

</script>

setInterval(函数(){
var n_val=“”;
控制台日志(n_val);
},1000);
更换控制台,并根据您的愿望提供



但这是否会延长加载时间?每秒钟都在调用一个远程页面并进行检查?

这就是如何将
php
值转换为
javascript
值的方法

<script>
setInterval(function(){
<?php
$urlMachineOnline = 'http://192.168.0.150/awp/Shredder/PLCfiles/MachineOnline.html';
// get content
$contentMachineOnline = file_get_contents($urlMachineOnline);
//remove first 2 characters
$truncateMachineOnline = substr($contentMachineOnline, 2);
//remove last 5 characters
$MachineActivityMS = substr($truncateMachineOnline, 0, -5);
//Set the value to seconds
$MachineActivityS = floor($MachineActivityMS /1000);
$formatMachineActive = 'H:i:s'; 
$TimeMachineActive = gmdate($formatMachineActive, $MachineActivityS);
?>
var n_val = "<?php echo $TimeMachineActive; ?>";
    console.log(n_val);
},1000);

</script>

setInterval(函数(){
var n_val=“”;
控制台日志(n_val);
},1000);
更换控制台,并根据您的愿望提供


但是