求助.如何用PHP实现一个类似于安装软件时"正在安装XX文件..." 求助.如何用PHP实现一个类似于安装软件时"正在安装XX文件..."不停的在页面提示用户消息请大家多多发表下高见,谢谢大家--! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 echo '正在....';//这里做你想做的事情echo '正在....';//这里做你想做的事情echo '正在....';//这里做你想做的事情echo '正在....';//这里做你想做的事情echo '正在....';//这里做你想做的事情echo '正在....';//这里做你想做的事情echo '正在....';//这里做你想做的事情就这样而已没什么 楼主估计是说缓存的问题吧,这个很好解决的,比如你可以没执行玩了一个步骤就执行js操作,输出一些些东西下面是一个例子(嘿嘿,打个小广告)function dump_database($database_name, $save_path = './'){ ini_set('max_execution_time', 0); echo '备份开始...<br>'; echo '===================================================<br>'; $time = explode(' ', microtime()); $start_time = $time[1] + $time[0]; //打开或创建一个用来存放备份数据库代码的文件 $fo = @fopen($save_path.$database_name.'.sql', 'a'); if($fo === false){ echo '文件找不到,或您没有权限打开该文件!'; } //连接数据库 $link = @mysql_connect('localhost', 'root', 'root') or die('数据库连接失败,error:'.mysql_error()); //获取该数据库中的表 $ret = mysql_list_tables($database_name); $table_list = array(); while($table = mysql_fetch_assoc($ret)){ $table_list[] = $table['Tables_in_'.$database_name]; echo '<span id="'.$table['Tables_in_'.$database_name].'">'.$table['Tables_in_'.$database_name].'</span><br>'; } foreach($table_list as $table){ //获取当前表被创建时的sql语句 $sql = 'show create table '.$table; $create_table_ret = mysql_fetch_assoc(mysql_query($sql)); $create_table_sql = 'drop table if exists '.$table.";\n"; $create_table_sql .= $create_table_ret['Create Table'].";\n"; //获取当前表中的数据并组成插入形式的sql语句 $sql = 'select * from '.$table; $insert_data_ret = mysql_query($sql); $insert_data_sql = 'insert into '.$table.' values'; while($row = mysql_fetch_assoc($insert_data_ret)){ $insert_data_sql .= '('; foreach($row as $key => $val){ $insert_data_sql .= '"'.mysql_real_escape_string($val, $link).'",'; } $insert_data_sql = rtrim($insert_data_sql, ',').'),'; } $insert_data_sql = rtrim($insert_data_sql, ',').";\n\n\n"; if(!mysql_num_rows($insert_data_ret)){ $create_table_sql .= "\n\n"; } fwrite($fo, $create_table_sql); if(mysql_num_rows($insert_data_ret)){ fwrite($fo, $insert_data_sql); } $innerHTML = $table."[<span style='color: green'>备份完成!</span>]"; $script = '<script>'; $script .= 'document.getElementById("'.$table.'").innerHTML = "'.$innerHTML.'";'; $script .= '</script>'; echo $script; } fclose($fo); $time = explode(' ', microtime()); $end_time = $time[1] + $time[0]; echo '<b>备份完成(共计<span style="color: red">'.count($table_list).'</span>个表),花费时间为:<span style="color: red">', $end_time - $start_time, '</span>秒!</b>';}dump_database('mysql', 'd:/'); HTML 有一个 meta 函数。。 你吧这个函数写在你代码最下面。几秒以后跳转执行到meta 本页面跳转一下。 或者header函数 都可以。 谢谢大家,有一点思路了...我看过一个例子:在页面中放入IFrame,然后执行时,在iframe中不断的location.href="Iframe链接",这样用户就能看到后台执行的结果... 把php代码分成一个一个,然后框架 js 依次刷新 刷新的时候做出提示就可以啦 感谢kyzy_yy_pm,和y75674952的回答,突然想起来,discuz安装的时候好像也有这种类似于"正在安装XX表..."提示,我去好好研究下... #1.刷缓冲参考<?phpob_end_clean();apache_setenv('no-gzip', 1);ini_set('zlib.output_compression', 0);ini_set('implicit_flush', 1);ob_start();//开始缓冲数据for($i = 1; $i <= 10; $i++){ $sourceName = 'filetoupload' . $i; $imageArray = array(); $message = "Installing component {$i}<br/>"; echo $message.str_repeat(" ",1024);//ie有默认的1k buffer ob_flush(); flush(); install($i); sleep(2);}function install($i){ sleep($i);}?>#2.ajax 10楼的大哥...请问flush()和ob_flush()有什么区别吗? 我看文档上都是刷新缓存的含义...很疑惑 eval函数使用问题 搭建网站时报错:Warning: mysql_connect() 网站改版散分 类的问题 Object not found! 急!!请高人指点!!谢谢了!!php中java函数的调用 文本显示问题 唠叨请看一下 判断客户端文件是否存在?急______________ 求救:在win2000中如何配置php和apache,IIS curl获取的结果总是为false 哪位PHP高手写过亚马逊支付方式的代码(Amazon FPS)
echo '正在....';
//这里做你想做的事情
echo '正在....';
//这里做你想做的事情
echo '正在....';
//这里做你想做的事情
echo '正在....';
//这里做你想做的事情
echo '正在....';
//这里做你想做的事情
echo '正在....';
//这里做你想做的事情
echo '正在....';
//这里做你想做的事情就这样而已没什么
ini_set('max_execution_time', 0);
echo '备份开始...<br>';
echo '===================================================<br>';
$time = explode(' ', microtime());
$start_time = $time[1] + $time[0];
//打开或创建一个用来存放备份数据库代码的文件
$fo = @fopen($save_path.$database_name.'.sql', 'a');
if($fo === false){
echo '文件找不到,或您没有权限打开该文件!';
} //连接数据库
$link = @mysql_connect('localhost', 'root', 'root') or die('数据库连接失败,error:'.mysql_error()); //获取该数据库中的表
$ret = mysql_list_tables($database_name);
$table_list = array();
while($table = mysql_fetch_assoc($ret)){
$table_list[] = $table['Tables_in_'.$database_name];
echo '<span id="'.$table['Tables_in_'.$database_name].'">'.$table['Tables_in_'.$database_name].'</span><br>';
}
foreach($table_list as $table){
//获取当前表被创建时的sql语句
$sql = 'show create table '.$table;
$create_table_ret = mysql_fetch_assoc(mysql_query($sql));
$create_table_sql = 'drop table if exists '.$table.";\n";
$create_table_sql .= $create_table_ret['Create Table'].";\n";
//获取当前表中的数据并组成插入形式的sql语句
$sql = 'select * from '.$table;
$insert_data_ret = mysql_query($sql);
$insert_data_sql = 'insert into '.$table.' values';
while($row = mysql_fetch_assoc($insert_data_ret)){
$insert_data_sql .= '(';
foreach($row as $key => $val){
$insert_data_sql .= '"'.mysql_real_escape_string($val, $link).'",';
}
$insert_data_sql = rtrim($insert_data_sql, ',').'),';
}
$insert_data_sql = rtrim($insert_data_sql, ',').";\n\n\n";
if(!mysql_num_rows($insert_data_ret)){
$create_table_sql .= "\n\n";
}
fwrite($fo, $create_table_sql);
if(mysql_num_rows($insert_data_ret)){
fwrite($fo, $insert_data_sql);
}
$innerHTML = $table."[<span style='color: green'>备份完成!</span>]";
$script = '<script>';
$script .= 'document.getElementById("'.$table.'").innerHTML = "'.$innerHTML.'";';
$script .= '</script>';
echo $script;
}
fclose($fo);
$time = explode(' ', microtime());
$end_time = $time[1] + $time[0];
echo '<b>备份完成(共计<span style="color: red">'.count($table_list).'</span>个表),花费时间为:<span style="color: red">', $end_time - $start_time, '</span>秒!</b>';
}dump_database('mysql', 'd:/');
执行到meta 本页面跳转一下。 或者header函数 都可以。
参考
<?php
ob_end_clean();
apache_setenv('no-gzip', 1);
ini_set('zlib.output_compression', 0);
ini_set('implicit_flush', 1);
ob_start();//开始缓冲数据
for($i = 1; $i <= 10; $i++){
$sourceName = 'filetoupload' . $i;
$imageArray = array();
$message = "Installing component {$i}<br/>";
echo $message.str_repeat(" ",1024);//ie有默认的1k buffer
ob_flush();
flush();
install($i);
sleep(2);
}function install($i)
{
sleep($i);
}
?>#2.ajax