在流程开始之前进行回声

时间:2012-10-31 10:07:48

标签: php copy system fork

我希望(在表单提交后)在整个PHP过程完成之前打印一些HTML代码。以下代码仅在copy()和system()完成后打开窗口:

<script language="javascript">
window.open("copyProgress.php?source=<?php echo $_POST['element_100'];?>","","width=400,height=400,resizable=no,toolbar=no,location=no,directories=no,status=no,menubar=no");
</script>

<?php

sleep(3);

//move the file to the net disk
if(copy($tempUploadDir."\\".$_POST['element_100'], $dir.$subfolder."\\".$filename)) { 
    unlink($tempUploadDir."\\".$_POST['element_100']);  
} else {   
    die("problem with uploading file. ".$tempUploadDir."\\".$_POST['element_100']);
}

system("x264.exe $args");

?>

请问您可以建议如何首先显示(和工作)HTML(JS)代码?

谢谢, 标记

2 个答案:

答案 0 :(得分:0)

ob_flush()刷新PHP输出缓冲区。 见http://php.net/manual/en/function.ob-flush.php

答案 1 :(得分:0)

您可以使用重定向到其他页面,例如

$redirect = "http://www.example.com/";
header( 'Location: '.$redirect );   

并首先在那里执行javascript,并在几秒后重定向回到这个页面只有php。 问题是在服务器完成它的工作之前不会执行javascript并将HTML传送到客户端。