仓酷云
标题:
PHP网页设计PHP共同apc完成上传进度条
[打印本页]
作者:
再见西城
时间:
2015-2-3 23:29
标题:
PHP网页设计PHP共同apc完成上传进度条
对于PHP的语法结构,刚开始真的很不习惯,真搞不懂为什么每个变量之前都要加个“$”符号,每个语句写完之后都必须加上“分号”来表示此句已经结束,还有,PHP对字母的大小写是敏感的,写的时候一定要注意大小写的区别。
PHP共同apc完成上传进度条, 一向觉得PHP是没法做到进度条一个静态的功效,本来仍是本人的常识面不敷,看到了apc扩大相干的一些文章,使用apc扩大到达了静态完成后果。依据找到相干的文章本人并在此基本上做了一些小修正。本人的办事器用的window,在这里次要针对的是window上的使用。
1.办事器要撑持apc扩大,没有此扩大的话,百度一下php_apc.dll ,下载一个扩大扩大请求php.5.2以上。
2.设置装备摆设apc相干设置装备摆设,重启apache
PHP Code
extension=php_apc.dll
apc.rfc1867 = on
apc.max_file_size = 1000M
upload_max_filesize = 1000M
post_max_size = 1000M
申明一下:至于参数要配多大,得看项目需求apc.max_file_size, 设置apc所撑持上传文件的巨细,请求apc.max_file_size <=upload_max_filesize 而且apc.max_file_size <=post_max_size.从头启动apache便可完成apc的撑持.
3.在代码外面使用phpinfo();检查apc扩大装置了没有。
4.上面是完成代码:
getprogress.php
PHP Code
<?php
session_start();
if(isset($_GET['progress_key'])) {
$status = apc_fetch('upload_'.$_GET['progress_key']);
echo ($status['current']/$status['total'])*100;
}
?>
upload.php
PHP Code
<?php
$id = $_GET['id'];
?>
<form enctype="multipart/form-data" id="upload_form" action="target.php" method="POST">
<input type="hidden" name="APC_UPLOAD_PROGRESS"
id="progress_key" value="<?php echo $id?>"/>
<input type="file" id="test_file" name="test_file"/><br/>
<input onclick="window.parent.startProgress(); return true;"
type="submit" value="上传"/>
</form>
target.php
PHP Code
<?php
set_time_limit(600);
if($_SERVER['REQUEST_METHOD']=='POST') {
move_uploaded_file($_FILES["test_file"]["tmp_name"],
dirname($_SERVER['SCRIPT_FILENAME'])."/UploadTemp/" . $_FILES["test_file"]["name"]);//UploadTemp文件夹位于此剧本不异目次下
echo "<p>上传胜利</p>";
}
?>
index.php
PHP Code
<?php
$id = md5(uniqid(rand(), true));
?>
<html>
<head><title>上传进度</title></head>
<body>
<script src="js/jquery-1.4.4.min.js" language="javascript"></script>
<script language="javascript">
var proNum=0;
var loop=0;
var progressResult;
function sendURL() {
$.ajax({
type : 'GET',
url : "getprogress.php?progress_key=<?php echo $id;?>",
async : true,
cache : false,
dataType : 'json',
data: "progress_key=<?php echo $id;?>",
success : function(e) {
progressResult = e;
proNum=parseInt(progressResult);
document.getElementById("progressinner").style.width = proNum+"%";
document.getElementById("showNum").innerHTML = proNum+"%";
if ( proNum < 100){
setTimeout("getProgress()", 100);
}
}
});
}
function getProgress(){
loop++;
sendURL();
}
var interval;
function startProgress(){
document.getElementById("progressouter").style.display="block";
setTimeout("getProgress()", 100);
}
</script>
<iframe id="theframe" name="theframe"
src="upload.php?id=<?php echo $id; ?>"
style="border: none; height: 100px; width: 400px;" >
</iframe>
<br/><br/>
<div id="progressouter" style="width: 500px; height: 20px; border: 6px solid red; display:none;">
<div id="progressinner" style="position: relative; height: 20px; background-color: purple; width: 0%; "></div>
</div>
<div id='showNum'></div><br>
<div id='showNum2'></div>
</body>
</html>
理解动态语言的概念,运做机制,熟悉PHP语法
作者:
精灵巫婆
时间:
2015-2-3 23:47
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年 具体的记不清啦,囧。
作者:
因胸联盟
时间:
2015-2-4 23:10
Ps:以上纯属原创,如有雷同,纯属巧合
作者:
爱飞
时间:
2015-2-5 02:04
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者:
冷月葬花魂
时间:
2015-2-8 20:36
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者:
透明
时间:
2015-2-13 11:48
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者:
只想知道
时间:
2015-2-16 06:03
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者:
小妖女
时间:
2015-2-21 08:57
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
作者:
第二个灵魂
时间:
2015-3-6 20:04
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者:
分手快乐
时间:
2015-3-10 14:28
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者:
愤怒的大鸟
时间:
2015-3-17 08:09
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者:
飘飘悠悠
时间:
2015-3-24 02:41
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者:
兰色精灵
时间:
2015-3-26 12:45
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
作者:
变相怪杰
时间:
2015-4-2 19:21
实践是检验自己会不会的真理。
作者:
若天明
时间:
2015-4-4 10:32
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者:
不帅
时间:
2015-4-11 02:52
兴趣是最好的老师,百度是最好的词典。
作者:
莫相离
时间:
2015-4-14 14:11
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者:
再见西城
时间:
2015-4-25 12:56
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者:
谁可相欹
时间:
2015-4-25 14:53
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
作者:
柔情似水
时间:
2015-5-6 11:49
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2