php/apc 监控文件上传进度
原文地址: http://blog.csdn.net/lmss82/archive/2010/05/10/5574772.aspx
这是一个完整可用的代码,部分代码来自于网络。
PHP:
5.26
JS环境:
jquery.js,jquery_form.js
使用步骤:
开启APC.
下载php_apc.dll,修改php.ini文件增加以下内容:
extension=php_apc.dll
apc.rfc1867 = On
代码:
<?php
//<BS>X_REQUESTED_WITH
/* 上传文件 */
if(isset($_FILES['upfile'])){
$uploaddir = $_SERVER['DOCUMENT_ROOT']."/uploadprogress/upfile/";
$uploaddir.= date("YmdHis",time()).'_'.$_FILES['upfile']['name'];
if(move_uploaded_file($_FILES["upfile"]["tmp_name"], $uploaddir))
{
echo "上传成功!";
exit;
}
}
/* 获取上传进度信息 */
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'){
if(isset($_GET['APC_UPLOAD_PROGRESS']) && $_GET['do'] == 'retrieving') {
$status = apc_fetch('upload_'.$_GET['APC_UPLOAD_PROGRESS']);
if($status['total']!=0 && !empty($status['total'])) {
$json = array(
'per'=> $status['current']/$status['total']*100,
'total'=> round($status['total']/1024),
'current'=> round($status['current']/1024),
);
echo json_encode($json);
exit;
}
else {
echo (0);
exit;
}
}
}
?>
<mce:script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" mce_src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"><!--
</script >
<script type="text/javascript" src="jquery.form.js" mce_src="jquery.form.js"></script >
<script type="text/javascript">
$(document).ready(function() {
// This is more like it!
$('#upload_form').ajaxForm(function() {
//alert("Thank you for your
相关文档:
PHP File 文件格式
常规
对于只包含有 PHP 代码的文件,结束标志("?>")是不允许存在的,PHP自身不需要("?>"), 这样做, 可以防止它的末尾的被意外地注入相应。
重要: 由 __HALT_COMPILER() 允许的任意的二进制代码的内容被 Zend Framework 中的 PHP 文件或由它们产生的文件禁止。 这个功能的使用只对一些 ......
<?php
//注意,如果是安全模式,请不要打开,如果不是安全模式,这个选项可以打开
//set_time_limit(0);
for ($i = 0; $i < 500; $i++) {
$users[] = 'Tom_' . $i;
}//end for
$width = 500; //显示的进度条长度,单位 px
$total = count($users); //总共需要操作的记� ......
1.如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。
2.echo 比 print 快。
3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。
4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。
5.注销那些不用的变量尤其是大数组,以便释放内存。
6.尽量避免使用__get,__set,__a ......
以下都是转载, 简单说下, php是不支持多线程的。。。。
PHP语言本身是不支持多线程的. 总结了一下网上关于PHP模拟多线程的方法, 总的来说, 都是利用了PHP的好伙伴们本身所具有的多线程能力. PHP的好伙伴指的就是LINUX和APACHE啦, LAMP嘛.
另外, 既然是模拟的, 就不是真正的多线程. 其实只是多进程. 进程和线程是 ......
真兄弟,讲义气,同甘苦,共进退。
《兄弟连》电影的上映,大家纷纷给出了好评。不就是一部战争片么,为何有如此强烈的响应?首先这是一部战争片并没错,但《兄弟连》电影更多的是洋溢着那种相濡以沫的兄弟情义,坚如磐石。多 ......