Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.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
PHP ob_end_与JQuery齐平_Php_Jquery - Fatal编程技术网

PHP ob_end_与JQuery齐平

PHP ob_end_与JQuery齐平,php,jquery,Php,Jquery,我对ob_implicit_flush with jquery有一个问题。我正在使用jqueryUI小部件选项卡来显示2个选项卡形式。在我的过程中,我正在打印ant任务的实时输出。其代码如下所示 if (isset($cleaned)){ echo '<div id="ant">'; $json_arg = escapeshellarg($cleaned); while (@ob_end_flush()); ob_implicit_flush(true

我对ob_implicit_flush with jquery有一个问题。我正在使用jqueryUI小部件选项卡来显示2个选项卡形式。在我的过程中,我正在打印ant任务的实时输出。其代码如下所示

if (isset($cleaned)){
    echo '<div id="ant">';
    $json_arg = escapeshellarg($cleaned);
    while (@ob_end_flush());
    ob_implicit_flush(true);
    $proc = popen("sudo /var/www/html/scripts/set_vars.sh $json_arg 2>&1", 'r');
    echo '<pre>';
    while (!feof($proc)){
        echo fread($proc, 4096);
        @ flush();
    }
    echo '</pre>';
    echo '</div>';
    echo '<script>';
    echo 'setTimeout( function ( ) { alert( "Event Added!" ); }, 2000 );';
    echo 'clearform();';
    echo '</script>';
}
if(设置($cleaned)){
回声';
<?php
    session_start();
    $json_cleaned = $_SESSION['json_string'];
    $json_arg = escapeshellarg($json_cleaned);
    $proc = popen("sudo /var/www/html/scripts/set_vars.sh $json_arg 2>&1", 'r');
    echo '<pre>';
    while (!feof($proc)){
        echo fread($proc, 256);
        @flush();
        @ob_flush();
        echo "<script>window.scrollTo(0,99999);</script>";
        usleep(200);
    }
    pclose($proc);
    echo '</pre>';
    echo '<script>';
    echo 'window.scrollTo(0,99999);';
    echo 'setTimeout( function ( ) { alert( "Event Added!" ); }, 2000 );';
    echo '</script>';
?>
$json_arg=escapeshellarg($cleaned); 而(@ob_end_flush()); ob_隐式_刷新(真); $proc=popen(“sudo/var/www/html/scripts/set_vars.sh$json_arg 2>&1”,“r”); 回声';
<?php
    session_start();
    $json_cleaned = $_SESSION['json_string'];
    $json_arg = escapeshellarg($json_cleaned);
    $proc = popen("sudo /var/www/html/scripts/set_vars.sh $json_arg 2>&1", 'r');
    echo '<pre>';
    while (!feof($proc)){
        echo fread($proc, 256);
        @flush();
        @ob_flush();
        echo "<script>window.scrollTo(0,99999);</script>";
        usleep(200);
    }
    pclose($proc);
    echo '</pre>';
    echo '<script>';
    echo 'window.scrollTo(0,99999);';
    echo 'setTimeout( function ( ) { alert( "Event Added!" ); }, 2000 );';
    echo '</script>';
?>
而(!feof($proc)){ echo-fread($proc,4096); @冲洗(); } 回声';
<?php
    session_start();
    $json_cleaned = $_SESSION['json_string'];
    $json_arg = escapeshellarg($json_cleaned);
    $proc = popen("sudo /var/www/html/scripts/set_vars.sh $json_arg 2>&1", 'r');
    echo '<pre>';
    while (!feof($proc)){
        echo fread($proc, 256);
        @flush();
        @ob_flush();
        echo "<script>window.scrollTo(0,99999);</script>";
        usleep(200);
    }
    pclose($proc);
    echo '</pre>';
    echo '<script>';
    echo 'window.scrollTo(0,99999);';
    echo 'setTimeout( function ( ) { alert( "Event Added!" ); }, 2000 );';
    echo '</script>';
?>
回声';
<?php
    session_start();
    $json_cleaned = $_SESSION['json_string'];
    $json_arg = escapeshellarg($json_cleaned);
    $proc = popen("sudo /var/www/html/scripts/set_vars.sh $json_arg 2>&1", 'r');
    echo '<pre>';
    while (!feof($proc)){
        echo fread($proc, 256);
        @flush();
        @ob_flush();
        echo "<script>window.scrollTo(0,99999);</script>";
        usleep(200);
    }
    pclose($proc);
    echo '</pre>';
    echo '<script>';
    echo 'window.scrollTo(0,99999);';
    echo 'setTimeout( function ( ) { alert( "Event Added!" ); }, 2000 );';
    echo '</script>';
?>
回声';
<?php
    session_start();
    $json_cleaned = $_SESSION['json_string'];
    $json_arg = escapeshellarg($json_cleaned);
    $proc = popen("sudo /var/www/html/scripts/set_vars.sh $json_arg 2>&1", 'r');
    echo '<pre>';
    while (!feof($proc)){
        echo fread($proc, 256);
        @flush();
        @ob_flush();
        echo "<script>window.scrollTo(0,99999);</script>";
        usleep(200);
    }
    pclose($proc);
    echo '</pre>';
    echo '<script>';
    echo 'window.scrollTo(0,99999);';
    echo 'setTimeout( function ( ) { alert( "Event Added!" ); }, 2000 );';
    echo '</script>';
?>
echo'setTimeout(函数(){alert(“Event Added!”);},2000);
<?php
    session_start();
    $json_cleaned = $_SESSION['json_string'];
    $json_arg = escapeshellarg($json_cleaned);
    $proc = popen("sudo /var/www/html/scripts/set_vars.sh $json_arg 2>&1", 'r');
    echo '<pre>';
    while (!feof($proc)){
        echo fread($proc, 256);
        @flush();
        @ob_flush();
        echo "<script>window.scrollTo(0,99999);</script>";
        usleep(200);
    }
    pclose($proc);
    echo '</pre>';
    echo '<script>';
    echo 'window.scrollTo(0,99999);';
    echo 'setTimeout( function ( ) { alert( "Event Added!" ); }, 2000 );';
    echo '</script>';
?>
回显“clearform();”;
<?php
    session_start();
    $json_cleaned = $_SESSION['json_string'];
    $json_arg = escapeshellarg($json_cleaned);
    $proc = popen("sudo /var/www/html/scripts/set_vars.sh $json_arg 2>&1", 'r');
    echo '<pre>';
    while (!feof($proc)){
        echo fread($proc, 256);
        @flush();
        @ob_flush();
        echo "<script>window.scrollTo(0,99999);</script>";
        usleep(200);
    }
    pclose($proc);
    echo '</pre>';
    echo '<script>';
    echo 'window.scrollTo(0,99999);';
    echo 'setTimeout( function ( ) { alert( "Event Added!" ); }, 2000 );';
    echo '</script>';
?>
回声';
<?php
    session_start();
    $json_cleaned = $_SESSION['json_string'];
    $json_arg = escapeshellarg($json_cleaned);
    $proc = popen("sudo /var/www/html/scripts/set_vars.sh $json_arg 2>&1", 'r');
    echo '<pre>';
    while (!feof($proc)){
        echo fread($proc, 256);
        @flush();
        @ob_flush();
        echo "<script>window.scrollTo(0,99999);</script>";
        usleep(200);
    }
    pclose($proc);
    echo '</pre>';
    echo '<script>';
    echo 'window.scrollTo(0,99999);';
    echo 'setTimeout( function ( ) { alert( "Event Added!" ); }, 2000 );';
    echo '</script>';
?>
}
它可以正常工作,但是当调用ob_end_flush时,所有表单样式也会被刷新(由jquery创建)。任务完成后,样式返回。有人知道在这个任务运行时如何避免jquery吗

谢谢

编辑:

这是完整的代码

<html>
    <head>
        <link rel="stylesheet" href="css/jquery-ui.css">
        <link rel="stylesheet" type="text/css" href="css/style.css"/>
        <script src="scripts/jquery-ui.min.js"></script>
        <script src="scripts/jquery-ui.js"></script>
        <script language="javascript">
            function clearform() {
                document.getElementById("json").value="";
            }
        </script>
        <script>
            $(function() {
                $( "#tabs" ).tabs();
            });
        </script>
        <title>Add Manual Event Data</title>
        <?php
            if (empty($_POST["comment"])) {
                $comment = "";
            }
            else {
                $cleaned = test_input($_POST["comment"]);
                $comment = ($_POST["comment"]);
            }

            function test_input($data) {
                $data = trim($data);
                $data = addslashes($data);
                return $data;
            }
        ?>
    </head>
    <body>
        <div id="tabs" class="body-check">
            <ul>
                <li><a href="#tabs-1">Event By String</a></li>
                <li><a href="#tabs-2">Add Event Form</a></li>
            </ul>
            <div id="tabs-1">
                <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
                    <center><h1>Add Event Data:</h1></center>
                    <p>
                        <textarea id="json" name="comment"><?php echo $comment;?></textarea>
                    </p>
                    <input type="submit" name="submit" value="Submit">
                </form>

                <?php
                    if (isset($cleaned)){
                        session_start();
                        $_SESSION['json_string'] = $cleaned;
                        echo '<div id="ant"><iframe src="ant.php"></iframe></div>';
                        echo '<script>clearform();</script>';
                    }
                ?>
            </div>
            <div id="tabs-2">
                <h1>Hello!</h2>
            </div>
        </div>
    </body>
</html>

函数clearform(){
document.getElementById(“json”).value=“”;
}
$(函数(){
$(“#制表符”).tabs();
});
添加手动事件数据

我就是这样解决这个问题的。我创建了一个名为ant.php的文件,然后在iFrame中调用它。这样,ob_刷新不会影响父脚本

index.php


函数clearform(){
document.getElementById(“json”).value=“”;
}
$(函数(){
$(“#制表符”).tabs();
});
添加手动事件数据
你好
ant.php


你能把jqui代码包括进来吗?据我所知,while(@ob_end_flush());结束所有活动输出缓冲区,并允许将其发送到屏幕。如果没有它,我的输出在任务完成之前不会打印,所以我假设(我不是php专家,请原谅)它在接收输出时会转储输出。好的,不用担心,它确实在上的文档中显示了这一点,所以我唯一的假设是jquery也正在刷新。也许为了加载这些消息,您应该将此php代码放在另一个页面中,并让jquery对该页面进行ajax调用。