我希望(在表单提交后)在整个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)代码?
谢谢, 标记
答案 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传送到客户端。