• php常用代码段


    点击换验证码

    <a href="javascript:;"><img onclick="this.src='{:U('Reglog/vcode')}?'+Math.random()" width="160"  src="{:U('Reglog/vcode')}" /></a>

     TP上一条下一条

     $prev=$artical->where("id < $id")->where(array('cid'=>$cid))->order('id desc')->find();
           
     $next=$artical->where("id > $id")->where(array('cid'=>$cid))->order('id asc')->find();
    <if condition='$next'>
        下一篇:<a href='{:U("Artical/index",array(id=>$next['id']))}' class="f6">{$next.name}</a><br />
          <else />
       <strong>下一篇:没有了</strong><br/>
    </if>
    
    <if condition='$prev'>
        上一篇:<a href='{:U("Artical/index",array(id=>$prev['id']))}' class="f6">{$prev.name}</a>
        <else />
        <strong>上一篇:没有了</strong>
     </if>

     curl 模拟POST、GET请求 可以用于访问接口

    //参数1:访问的URL,参数2:post数据(不填则为GET),参数3:提交的$cookies,参数4:是否返回$cookies
        function curl_request($url,$post='',$cookie='', $returnCookie=0){
            $curl = curl_init();
            curl_setopt($curl, CURLOPT_URL, $url);
            curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)');
            curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
            curl_setopt($curl, CURLOPT_REFERER, "http://XXX");
            if($post) {
                curl_setopt($curl, CURLOPT_POST, 1);
                curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));
            }
            if($cookie) {
                curl_setopt($curl, CURLOPT_COOKIE, $cookie);
            }
            curl_setopt($curl, CURLOPT_HEADER, $returnCookie);
            curl_setopt($curl, CURLOPT_TIMEOUT, 10);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            $data = curl_exec($curl);
            if (curl_errno($curl)) {
                return curl_error($curl);
            }
            curl_close($curl);
            if($returnCookie){
                list($header, $body) = explode("
    
    ", $data, 2);
                preg_match_all("/Set-Cookie:([^;]*);/", $header, $matches);
                $info['cookie']  = substr($matches[1][0], 1);
                $info['content'] = $body;
                return $info;
            }else{
                return $data;
            }
        }

    EXCEL导入

    /** 
     *  数据导入 
     * @param string $file excel文件 
     * @param string $sheet 
     * @return string   返回解析数据 
     * @throws PHPExcel_Exception 
     * @throws PHPExcel_Reader_Exception 
    */  
    function importExecl($file='', $sheet=0){  
        $file = iconv("utf-8", "gb2312", $file);   //转码  
        if(empty($file) OR !file_exists($file)) {  
            die('file not exists!');  
        }  
        require_once './Classes/PHPExcel.php';  //引入PHP EXCEL类  
        $objRead = new PHPExcel_Reader_Excel2007();   //建立reader对象  
        if(!$objRead->canRead($file)){  
            $objRead = new PHPExcel_Reader_Excel5();  
            if(!$objRead->canRead($file)){  
                die('No Excel!');  
            }  
        }  
      
        $cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ');  
      
        $obj = $objRead->load($file);  //建立excel对象  
        $currSheet = $obj->getSheet($sheet);   //获取指定的sheet表  
        $columnH = $currSheet->getHighestColumn();   //取得最大的列号  
        $columnCnt = array_search($columnH, $cellName);  
        $rowCnt = $currSheet->getHighestRow();   //获取总行数  
      
        $data = array();  
        for($_row=1; $_row<=$rowCnt; $_row++){  //读取内容  
            for($_column=0; $_column<=$columnCnt; $_column++){  
                $cellId = $cellName[$_column].$_row;  
                $cellValue = $currSheet->getCell($cellId)->getValue();  
                 //$cellValue = $currSheet->getCell($cellId)->getCalculatedValue();  #获取公式计算的值  
                if($cellValue instanceof PHPExcel_RichText){   //富文本转换字符串  
                    $cellValue = $cellValue->__toString();  
                }  
      
                $data[$_row][$cellName[$_column]] = $cellValue;  
            }  
        }  
      
        return $data;  
    }

    EXCEL导出

    //导出
    function outExecl($data){
        //var_dump($data);
        require_once './Classes/PHPExcel.php';
     
        // 首先创建一个新的对象  PHPExcel object
        $objPHPExcel = new PHPExcel();
         
        // 设置文件的一些属性,在xls文件——>属性——>详细信息里可以看到这些值,xml表格里是没有这些值的
        $objPHPExcel
              ->getProperties()  //获得文件属性对象,给下文提供设置资源
              ->setCreator( "Maarten Balliauw")                 //设置文件的创建者
              ->setLastModifiedBy( "Maarten Balliauw")          //设置最后修改者
              ->setTitle( "Office 2007 XLSX Test Document" )    //设置标题
              ->setSubject( "Office 2007 XLSX Test Document" )  //设置主题
              ->setDescription( "Test document for Office 2007 XLSX, generated using PHP classes.") //设置备注
              ->setKeywords( "office 2007 openxml php")        //设置标记
              ->setCategory( "Test result file");                //设置类别
        // 位置aaa  *为下文代码位置提供锚
        // 给表格添加数据
        $objPHPExcel->setActiveSheetIndex(0)             //设置第一个内置表(一个xls文件里可以有多个表)为活动的
                    ->setCellValue( 'A1', '姓名' )         //给表的单元格设置数据
                    ->setCellValue( 'B1', '球队名称' )      //数据格式可以为字符串
                    ->setCellValue( 'C1', '场上位置' )            //数字型
                    ->setCellValue( 'D1', '称号资历' )            //
                    ->setCellValue( 'E1', '籍贯省份' )           //布尔型
                    ->setCellValue( 'F1', '籍贯城市' )           //布尔型
                    ->setCellValue( 'G1', '联系电话' )           //布尔型
                    ->setCellValue( 'H1', '注册状态' )           //布尔型
                    ->setCellValue( 'I1', '经纪人' )           //布尔型
                    ->setCellValue( 'J1', '比赛打分' )           //布尔型
                    ->setCellValue( 'K1', '伤病状态' )           //布尔型
                    ->setCellValue( 'L1', '比赛时间' );           //布尔型
    
    
        $i=2;
        foreach ($data as $k => $v) {
            // echo "1";
            // var_dump($v);
    
            if($v['z_state']=='1'){
                $v['z_state']="已注册";
            }
    
            $objPHPExcel->setActiveSheetIndex(0)             //设置第一个内置表(一个xls文件里可以有多个表)为活动的
                    ->setCellValue( 'A'.$i, $v['bname'] )         //给表的单元格设置数据
                    ->setCellValue( 'B'.$i, $v['tname'] )      //数据格式可以为字符串
                    ->setCellValue( 'C'.$i, $v['position'] )            //数字型
                    ->setCellValue( 'D'.$i, $v['qualifications'] )            //
                    ->setCellValue( 'E'.$i, $v['pname'] )           //布尔型
                    ->setCellValue( 'F'.$i, $v['cname'] )           //布尔型
                    ->setCellValue( 'G'.$i, $v['phone'] )           //布尔型
                    ->setCellValue( 'H'.$i, $v['z_state'] )           //布尔型
                    ->setCellValue( 'I'.$i, $v['name'] )           //布尔型
                    ->setCellValue( 'J'.$i, $v['score'] )           //布尔型
                    ->setCellValue( 'K'.$i, $v['b_state'] )           //布尔型
                    ->setCellValue( 'L'.$i, $v['time'] );           //布尔型
            $i++;
        }
    
         
        //得到当前活动的表,注意下文教程中会经常用到$objActSheet
        $objActSheet = $objPHPExcel->getActiveSheet();
        // 位置bbb  *为下文代码位置提供锚
        // 给当前活动的表设置名称
        $objActSheet->setTitle('Simple2222');
    
    
        // 生成2007excel格式的xlsx文件  
        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');  
        header('Content-Disposition: attachment;filename="01simple.xlsx"');  
        header('Cache-Control: max-age=0');  
          
        $objWriter = PHPExcel_IOFactory:: createWriter($objPHPExcel, 'Excel2007');  
        $objWriter->save( 'php://output');  
        exit;  
    }

     PHPExcel包:http://www.jb51.net/codes/194070.html

  • 相关阅读:
    关于LINUX文件与目录的问题说明
    poj1094拓扑排序
    poj3026(bfs+prim)最小生成树
    快速幂
    hdu4255筛素数+广搜
    网易2012校园招聘笔试题目
    网新恒天2011.9.21招聘会笔试题
    HDU3344(小广搜+小暴力
    HDU3348(贪心求硬币数
    HDU3345广搜 (P,E,T,#)
  • 原文地址:https://www.cnblogs.com/wordblog/p/7447761.html
Copyright © 2020-2023  润新知