php通过session实现upload_progress

在php中,显示上传文件进度有swf,apc,纯javascript等集中方法,而现在比较推荐的是利用php的session(PHP>5.4)实现,这里,我简单的记录一下。

相关资料可以参考php.net/manual/en/session.upload-progress.php,还是相对比较简单的,可以参考www.111cn.net/phper/php-cy/54314.htm这里的讲解,但是我实验了以下,生成了一个1G 的文件,进度条只是显示了两次值,一次64%,一次100%,不知道哪里有问题,这里记录一下问题,此外官方文档的需要关闭服务器的request的缓存我也是不是很理解是什么意思。

另外是通过apc,在ubuntu上安钻过sudo apt-get install php-apc即可

    <?php  
    /* 
     * Created on 2010-4-16 
     * 
     * To change the template for this generated file go to 
     * Window - Preferences - PHPeclipse - PHP - Code Templates 
     */  
     if ($_SERVER['REQUEST_METHOD'] == 'POST'){  
    $myfile=$_FILES['upfile'];  
    echo $myfile['size'];  
    echo $myfile['size'];  
    print_r($myfile);  
    $tempf=$myfile['tmp_name'];  
    $name=$myfile['name'];  
    move_uploaded_file($tempf,'up/'.$name);}  
      
    if(isset($_GET['key']))  
    {  
        //header('Content-Type:application/json; charset=utf-8' ) ;  
        // Retrieve the status using the getStatus() function below  
        //echo json_encode(getStatusAPC());  
        echo json_encode(getStatusAPC());  
    }  
    function getStatusAPC()  
    {  
        $response=false;  
        if($status = apc_fetch('upload_'.$_GET['key'])) {  
              
            $response=apc_fetch('upload_'.$_GET['key']);  
              
        }  
        return $response;  
    }  
      
    ?>  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值