点击换验证码

<a href="javascript:;"><img onclick="this.src='{:U('Reglog/vcode')}?'+Math.random()" width=""  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=){
$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, );
curl_setopt($curl, CURLOPT_AUTOREFERER, );
curl_setopt($curl, CURLOPT_REFERER, "http://XXX");
if($post) {
curl_setopt($curl, CURLOPT_POST, );
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, );
curl_setopt($curl, CURLOPT_RETURNTRANSFER, );
$data = curl_exec($curl);
if (curl_errno($curl)) {
return curl_error($curl);
}
curl_close($curl);
if($returnCookie){
list($header, $body) = explode("\r\n\r\n", $data, );
preg_match_all("/Set\-Cookie:([^;]*);/", $header, $matches);
$info['cookie'] = substr($matches[][], );
$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=){
$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=; $_row<=$rowCnt; $_row++){ //读取内容
for($_column=; $_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() //设置第一个内置表(一个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=;
foreach ($data as $k => $v) {
// echo "1";
// var_dump($v); if($v['z_state']==''){
$v['z_state']="已注册";
} $objPHPExcel->setActiveSheetIndex() //设置第一个内置表(一个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

php常用代码段的更多相关文章

  1. PyTorch常用代码段整理合集

    PyTorch常用代码段整理合集 转自:知乎 作者:张皓 众所周知,程序猿在写代码时通常会在网上搜索大量资料,其中大部分是代码段.然而,这项工作常常令人心累身疲,耗费大量时间.所以,今天小编转载了知乎 ...

  2. Java常用代码段 - 未完待续

    记录一些自己写项目常用的代码段. 格式化常用日期格式 Date date = new Date(System.currentTimeMillis()); DateFormat d3 = DateFor ...

  3. PyTorch 常用代码段整理

    基础配置 检查 PyTorch 版本 torch.__version__               # PyTorch version torch.version.cuda              ...

  4. JavaScript常用代码段

    总结一下在各种地方看到的还有自己使用的一些实用代码 1)区分IE和非IE浏览器 if(!+[1,]){ alert("这是IE浏览器"); } else{ alert(" ...

  5. C#获取本地IP地址[常用代码段]

    获得当前机器的IP代码,假设本地主机为单网卡 string strHostName = Dns.GetHostName(); //得到本机的主机名 IPHostEntry ipEntry = Dns. ...

  6. Erlang常用代码段

    十六进制字符串转为二进制 hex_to_bin(Bin) -> hex2bin(Bin). hex2bin(Bin) when is_binary(Bin) -> hex2bin(bina ...

  7. SQL常用代码段

    --STUFF 函数将字符串插入另一字符串.它在第一个字符串中从开始位置删除指定长度的字符:然后将第二个字符串插入第一个字符串的开始位置. STUFF ( character_expression , ...

  8. PHP常用代码段:

    1.PHP加密解密   function encryptDecrypt($key, $string, $decrypt){      if($decrypt){          $decrypted ...

  9. php 常用代码段

    1.写文件 $fp = fopen("jsapi_ticket.json", "w+"); fwrite($fp, $str); fclose($fp); 2. ...

随机推荐

  1. $(document).click() 在苹果手机上不能正常运行解决方案

    本来是如下一段跳转代码,发现在安卓和微信开发者工具上都能正常运行,但是苹果手机就不行了. $(document).on('click', '.url', function(){ location.hr ...

  2. Halcon 笔记2 Blob分析

    1. 数组操作 2. 可视化-更新窗口 (1)单步模式-总是:则可以自动显示图像: (2)单步模式-从不:需要调用显示函数才能显示图像. (3)单步模式-清空显示:将原图清除,再显示新图 3. 图像处 ...

  3. 在dbgrid中如何多行选中记录(ctl与shift均可用)

    在dbgrid中如何多行选中记录(ctl与shift均可用),设置dbgrid的dgmultiselect为true,只有ctl好用而shift不好用,如何使shift也好用 Dbgrid源代码:pr ...

  4. 【bzoj4321】queue2 dp

    题目描述 n 个沙茶,被编号 1~n.排完队之后,每个沙茶希望,自己的相邻的两人只要无一个人的编号和自己的编号相差为 1(+1 或-1)就行:  现在想知道,存在多少方案满足沙茶们如此不苛刻的条件.  ...

  5. liunx less 命令

    1.命令格式: less [参数]  文件 2.命令功能: less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会 ...

  6. C++解析-外传篇(2):函数的异常规格说明

    0.目录 1.异常规格说明 2.unexpected() 函数 3.小结 1.异常规格说明 问题: 如何判断一个函数是否会抛出异常,以及抛出哪些异常? C++提供语法用于声明函数所抛出的异常 异常声明 ...

  7. C++解析(22):父子间的冲突

    0.目录 1.同名覆盖 2.赋值兼容 3.函数重写遇上赋值兼容 4.小结 1.同名覆盖 子类中是否可以定义父类中的同名成员?如果可以,如何区分?如果不可以,为什么? 父子间的冲突: 子类可以定义父类中 ...

  8. (转)linux下压缩和归档相关命令tar,zip,gzip,bzip2

    压缩包也有两种形式,一种是tar.gz包(.tgz包也是这种),一种是tar.bz2包. tar.gz包的解压方法:tar zxvf [PackageName].tar.gz tar.bz2包的解压方 ...

  9. 安装svn测试环境

    centos 6.5 web service模式 安装svn测试服务器 1 下载subversion shell>yum install subversion 2 查看安装的版本 [root@c ...

  10. 公告:开通csdn博客,敬请关注!

    公告:开通csdn博客,敬请关注!地址:https://blog.csdn.net/cyjch