社区
基础编程
帖子详情
非常不错的上栽进度条,大家看看他是具体怎么实现的.
HFeiLin
2004-12-09 05:09:54
大家看下面这页面,页面下有三个信箱的演示登录地址,进去后在点写邮件,然后就可以试试他们写的上载文件功能,他们弄的上栽进度条效果确实不错,大家看看他们是怎么做的,然后看能不能用php结合javascript也弄一个类似的出来.
http://www.damail.cn/present.htm
...全文
449
21
打赏
收藏
非常不错的上栽进度条,大家看看他是具体怎么实现的.
大家看下面这页面,页面下有三个信箱的演示登录地址,进去后在点写邮件,然后就可以试试他们写的上载文件功能,他们弄的上栽进度条效果确实不错,大家看看他们是怎么做的,然后看能不能用php结合javascript也弄一个类似的出来. http://www.damail.cn/present.htm
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
uuq
2004-12-28
打赏
举报
回复
javascript可以实现。
用div来现。客户端每1秒读一次服务端。
服务端也是一个输出javascript的php程序,这个程序最好不要太大。
到javascrpt版,阿信个人网站看下。只要把他的进度改成动态就好了
loswing
2004-12-28
打赏
举报
回复
sf
binny0532
2004-12-28
打赏
举报
回复
看看!
oolin
2004-12-28
打赏
举报
回复
ASP版有网友提供“Asp无组件上传带进度条演示及源码”http://community.csdn.net/Expert/TopicView.asp?id=3639445
不知道哪位熟悉ASP的可以把他改写成PHP。
oolin
2004-12-28
打赏
举报
回复
关注,它在IE及firefox里都能正常使用.
HFeiLin
2004-12-13
打赏
举报
回复
我想有这嫌疑,他用 sqwebmail.css 这名字.而sqwebmail是一个老外做的webmail.
19840701
2004-12-12
打赏
举报
回复
这个邮件系统的原型
http://www.atmail.com/
不知道是不是 拿别人的东西来卖的
ashchen
2004-12-10
打赏
举报
回复
以前研究无刷新聊天室 看过push技术,如下文所说,用的content-type:multipart/x-mixed-replace,这样没有完全生成就发送代码给客户端,所以
楼主说的那个上穿就是服务器端没有上穿完就不断地发送
类似<script>update("1.10MB", '21', '1分钟31秒');</script>给客户端,
这样Ie就能看到状态条在动并提示。
=================================================================
SERVER PUSH 之我见
---摘自网易
我不知道业内人士是如何理解SERVER PUSH这个概念的。也没有人真正把SERVER
PUSH的概念澄清。
据我所了解,SERVER PUSH是一种用CGI来演示动画的一种特殊支持。也就指X-MI
XED-REPLACE。可惜,这个功能只能在NS上实现,IE无法浏览到动画替换,只能堆
在后面。所以说过I E并不支持SERVER PUSH.
现在所谓的server push的聊天室,也就指无刷新的聊天室程序。在PERL中其实如
果用content-type:multipart/x-mixed-replace这种头,在IE和NS中就可以
实现程序没有运行完就可以输出结果,实现直接写屏。 其实把文件名改成 nph-
**.cgi 然后设置 $|=1;一样可以实现程序没有运行完就可以输出结果,实现直接
写屏的聊天室程序。
但是这样的聊天室消耗资源巨大,每一个用户就是新起一个进程,占用一定的cp
u和内存,如果人多起来是一个恶梦!我想,如果用 ISAPI 或者 FAST-CGI也许能
加快速度。
但是最理想的办法就是利用SOCKET来建立一个连接,SERVER不先主动关闭连接。
这样一样可以实现无刷屏的聊天室程序,而且占用资源小。目前的银沙,网易聊
天室都是这种类型的。所以才能有那么高的服务器客容量。
如果想写出真正好的聊天室程序,要涉及到很多方面,不单单是浏览器与服务器
的交互,要涉及到网络协议,操作系统,等等的知识。
ezdevelop
2004-12-10
打赏
举报
回复
To xuzuning(唠叨)
http://www.zend.com/zend/week/pat/pat23.txt
HFeiLin
2004-12-10
打赏
举报
回复
是呀,主要是这 /cgi-bin/process.pl?demo3@demo.damail.cn
但perl也只是一种语言,如果知道过程是怎么弄的,我想完全可以换成php的.
我看到他process.pl生成的代码如下:他不段的在结尾加上那javascript脚本.
<html><head></head>
<script language=javascript>
function update(val, used, remain) {
if ( val == 'done' ) {
me.innerHTML = "上载成功!";
document.all.used.style.width = '100%';
}
else {
me.innerHTML="已上载 " + val + " ( 剩余 " + remain + " )";
document.all.used.style.width = used + "%";
}
}
</script>
<style type="text/css">body { font-size: 12px; } td { font-size: 12px; }</style>
<body topmargin="5" leftmargin="15">
<div height="20" width="100%">正在上载附件......</div>
<span id="size">文件容量: 5.36MB</span><br>
<span id="me">Loading...</span>
<table cellspacing=0 cellpadding=0 border=0>
<TR><TD WIDTH=3%>0%</TD>
<TD WIDTH=94%>
<table style="BORDER: #104a7b 1px solid; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px;" cellSpacing="0" cellPadding="0" width="100%" border="0">
<tr><td width="100%">
<div id="used" style="FONT-SIZE: 5px; WIDTH: 0%; HEIGHT: 5px; BACKGROUND-COLOR: #e00505"></div>
</td></tr>
</table>
</TD>
<TD ALIGN=RIGHT>100%</TD>
</TR>
</table>
<div><img src="/images/timer.gif" border="0" align=absmiddle> 注意:网络速度影响上载快慢,剩余时间浮动属正常现象。</div>
<script>update("96.1KB", '2', '0分钟0秒');</script>
<script>update("144.1KB", '3', '1分钟51秒');</script>
<script>update("200.1KB", '4', '1分钟35秒');</script>
<script>update("232.1KB", '4', '2分钟44秒');</script>
<script>update("280.1KB", '5', '1分钟49秒');</script>
<script>update("336.1KB", '6', '1分钟32秒');</script>
<script>update("376.1KB", '7', '2分钟8秒');</script>
<script>update("408.1KB", '7', '2分钟39秒');</script>
<script>update("440.1KB", '8', '2分钟38秒');</script>
<script>update("488.1KB", '9', '1分钟44秒');</script>
<script>update("544.1KB", '10', '1分钟28秒');</script>
<script>update("592.1KB", '11', '1分钟42秒');</script>
<script>update("648.1KB", '12', '1分钟27秒');</script>
<script>update("696.1KB", '13', '1分钟40秒');</script>
<script>update("752.1KB", '14', '1分钟25秒');</script>
<script>update("808.1KB", '15', '1分钟24秒');</script>
<script>update("864.1KB", '16', '1分钟23秒');</script>
<script>update("920.1KB", '17', '1分钟22秒');</script>
<script>update("976.1KB", '18', '1分钟21秒');</script>
<script>update("1.00MB", '19', '1分钟20秒');</script>
<script>update("1.06MB", '20', '1分钟19秒');</script>
<script>update("1.10MB", '21', '1分钟31秒');</script>
xuzuning
2004-12-10
打赏
举报
回复
正如 ashchen(陈辉) 所说,他使用了perl。
如果可能的话,你贴出process.pl的代码。看看是否能改写成php的
to ezdevelop(phpsalon.com) “新版本的PHP已实现了上载进度条的功能”
此话怎讲?
ezdevelop
2004-12-10
打赏
举报
回复
新版本的PHP已实现了上载进度条的功能
HFeiLin
2004-12-10
打赏
举报
回复
我想他们不会用到FTP,如果在页面里用FTP的话,是不是得用ActiveX控件或applet才能到达好的效果?
而http协议是无状态的,所以我想他们可能一开始获得文件大小,然后一直在刷新某个页面获得已经发送的数据数,这样就可以计算百分比.不知道是不是这样.但我觉得这样好象不好实现.
hflsj
2004-12-09
打赏
举报
回复
学习一下
jxyuhua
2004-12-09
打赏
举报
回复
学习一下
ashchen
2004-12-09
打赏
举报
回复
php的机制是完成解析就退出,然后一次性把生成的html发给客户端,不存在拖延的问题,即使是sleep也没用。
所以对这个技术感兴趣的可以去看看perl并且搜索一下相关资料
ashchen
2004-12-09
打赏
举报
回复
这个阿,以前研究过,perl写的,php很难实现,好像利用了一个http协议里的冬冬,不少聊天室用的这种技术,让浏览器等待服务器。
cloudchen
2004-12-09
打赏
举报
回复
而且ftp必须得支持断点上传
如果是http上传,也应该是断点上传的,保持请求的http连接长时间有效,上传建立文件后返回文件句柄,然后能定时的返回已上传的字节数
不知道有什么方式能实现http的断点上传?
cloudchen
2004-12-09
打赏
举报
回复
界面不错很好看,进度条的效果实现也很简单
一个table的td里面放了一个有背景色的div来实现进度条,控制div的宽度,用百分比控制
这个上传过程中最重要的就是在文件还没上传完成时就先获得了文件的总字节数,然后上传的时候请求的页面边上传边先向浏览器echo已经上传完成的字节数(加上前面的总字节数,这样就能算出上传的百分比)
我没做过这样的上传程序,就是在边上传边返回已完成的字节数,我觉得单用php的上传功能是不能实现这个效果的。
ftp上传应该是可以达到这样的效果的,没猜错的话应该是用ftp上传的。
http上传似乎是没办法在单次请求中返回已上传的字节数的
或许有其他办法,大家交流一下,java里好象也能实现这样的功能,谁能介绍一下?
genshing
2004-12-09
打赏
举报
回复
关注~
加载更多回复(1)
20个CSS3动画实战案例开发
本套课程,大喵将手把手带着大家上手精选20个纯CSS3动画项目精选案例项目实战,让小伙伴们能够轻松上手,企业公司项目开发过程中遇到的页面动画交互效果需求
实现
,以及一些更加炫酷创意动画想法的
实现
,成为一名酷酷...
(最全)Windows上Anaconda+Python+Pycharm+CUDA+CUDnn
实现
tensorflow-gpu安装以及安装tenfolw-gpu过程中出现的各种问题以及相应解决办法
但是在在
实现
CNN的时候,因为cpu计算实在是太慢,所以准备安装gpu版本,碰到了许多的问题,尝试了各种方法,弄了大概两三天的样子,终于弄好了,真的是很头疼呢。这里为大家很详细的介绍一下tensorflow-gpu的安装...
教你如何查找入侵者
一天正在发呆,QQ上的一个朋友向我求救:“我的网站被黑了,首页给换了,SOS!”。最近正好无事,索性就帮帮他吧。...进了首页看到上面只有入侵者的名字和一些图片,网站里边的
具体
情况待会再看吧。向朋友要了管理员...
网管必看的好东东(二)
偶尔有事不能准时上班,但服务器必须在上班时间准时开启,于是就巧用主板上的BIOS功能让服务器定时开启,这样就不会耽误大家的工作。 通过CMOS设置
实现
定时开机的设置过程如下:首先进入“CMOS SETUP”程序...
计算机408炸了!大多数人都
栽
在这门课上
此外,还需要了解一些底层电路,包括各个电路元件的名称和功能,这点非常重要。 其次,数据结构可能是另一难点,主要因为其中包含的算法较为复杂,但其他方面相对容易。值得注意的是,每道算法题通常能够获得15
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章