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 文件或由它们产生的文件禁止。 这个功能的使用只对一些 ......
1.1
exit() 函数输出一条消息,并退出当前脚本。
如果 status
是字符串,则该函数会在退出前输出字符串。
如果 status
是整数,这个值会被用作退出状态。退出状态的值在 0 至 254 之间。退出状态 255 由 PHP 保留,不会被使用。状态 0 用于成功地终止程序。
1.2
301 Moved Permanently 客户请求的文档在其他地方, ......
例子. return() 函数的用法
<?php
function square ($num)
{
return $num * $num;
}
echo square (4); // outputs '16'.
?>
函数不能返回多个值,但为了获得简单的结果,可以返回一个列表。
例子. 返回一个数组以得到多个返回值
<?php
function small_numbe ......
以下都是转载, 简单说下, php是不支持多线程的。。。。
PHP语言本身是不支持多线程的. 总结了一下网上关于PHP模拟多线程的方法, 总的来说, 都是利用了PHP的好伙伴们本身所具有的多线程能力. PHP的好伙伴指的就是LINUX和APACHE啦, LAMP嘛.
另外, 既然是模拟的, 就不是真正的多线程. 其实只是多进程. 进程和线程是 ......
真兄弟,讲义气,同甘苦,共进退。
《兄弟连》电影的上映,大家纷纷给出了好评。不就是一部战争片么,为何有如此强烈的响应?首先这是一部战争片并没错,但《兄弟连》电影更多的是洋溢着那种相濡以沫的兄弟情义,坚如磐石。多 ......