图片在flash中提交过来的zip压缩包中,谁能告诉我,php是怎么获取到这个zip资源的?

解决方案 »

  1.   

    phpsso_server\phpcms\modules\phpsso\classes\phpsso.class.php
    第46行$this->data['avatardata'] = $GLOBALS['HTTP_RAW_POST_DATA'];post过来的数据。file_pust_contents 根据数据,生成文件(包括文件地址)
    你的代码没有贴完全下面就是解压缩了//解压缩文件
    pc_base::load_app_class('pclzip', 'phpsso', 0);
    $archive = new PclZip($filename);
    if ($archive->extract(PCLZIP_OPT_PATH, $dir) == 0) {
    die("Error : ".$archive->errorInfo(true));
    }

    //判断文件安全,删除压缩包和非jpg图片
    $avatararr = array('180x180.jpg', '30x30.jpg', '45x45.jpg', '90x90.jpg');
    if($handle = opendir($dir)) {
        while(false !== ($file = readdir($handle))) {
    if($file !== '.' && $file !== '..') {
    if(!in_array($file, $avatararr)) {
    @unlink($dir.$file);
    } else {
    $info = @getimagesize($dir.$file);
    if(!$info || $info[2] !=2) {
    @unlink($dir.$file);
    }
    }
    }
        }
        closedir($handle);    
    }
    $this->db->update(array('avatar'=>1), array('uid'=>$this->uid));
    exit('1');
      

  2.   

    phpsso_server\phpcms\modules\phpsso\classes\phpsso.class.php
    第46行$this->data['avatardata'] = $GLOBALS['HTTP_RAW_POST_DATA'];post过来的数据。file_pust_contents 根据数据,生成文件(包括文件地址)
    你的代码没有贴完全下面就是解压缩了//解压缩文件
    pc_base::load_app_class('pclzip', 'phpsso', 0);
    $archive = new PclZip($filename);
    if ($archive->extract(PCLZIP_OPT_PATH, $dir) == 0) {
    die("Error : ".$archive->errorInfo(true));
    }

    //判断文件安全,删除压缩包和非jpg图片
    $avatararr = array('180x180.jpg', '30x30.jpg', '45x45.jpg', '90x90.jpg');
    if($handle = opendir($dir)) {
        while(false !== ($file = readdir($handle))) {
    if($file !== '.' && $file !== '..') {
    if(!in_array($file, $avatararr)) {
    @unlink($dir.$file);
    } else {
    $info = @getimagesize($dir.$file);
    if(!$info || $info[2] !=2) {
    @unlink($dir.$file);
    }
    }
    }
        }
        closedir($handle);    
    }
    $this->db->update(array('avatar'=>1), array('uid'=>$this->uid));
    exit('1');