当前位置:  编程技术>php
本页文章导读:
    ▪PHPExcel常用方法举例      本节内容: phpexcel的常用方法 例子:   代码示例: <? /** * phpexcel用法举例 * by www. * ################ */ //设置PHPExcel类库的include path    set_include_path('.'. PATH_SEPARATOR .             .........
    ▪PHP header函数用法举例      本节内容: header函数 介绍下php中header函数的一些例子。 例1,浏览器重定向   代码示例:  <?PHP Header(“Location: http://www.”;); exit;   //在每个重定向之后都必须加上“exit”,避免发生错误.........
    ▪php访问sqlite数据库的例子      本节内容: php访问sqlite数据库的例子 例1,访问sqlite数据库(Access sqlite database)   代码示例: <?php $dbconn = sqlite_open('phpdb');     if ($dbconn) {             sqlite_query($dbconn, "CREATE TABLE ani.........

[1]PHPExcel常用方法举例
    来源: 互联网  发布时间: 2013-12-24

本节内容:
phpexcel的常用方法

例子:
 

代码示例:

<?
/**
* phpexcel用法举例
* by www.
* ################
*/
//设置PHPExcel类库的include path   
set_include_path('.'. PATH_SEPARATOR .   
                 'D:\Zeal\PHP_LIBS' . PATH_SEPARATOR .   
                 get_include_path());   
   
/** 
 * 以下是使用示例,对于以 //// 开头的行是不同的可选方式,请根据实际需要 
 * 打开对应行的注释。 
 * 如果使用 Excel5 ,输出的内容应该是GBK编码。 
 */   
require_once 'PHPExcel.php';   
   
// uncomment   
////require_once 'PHPExcel/Writer/Excel5.php';    // 用于其他低版本xls   
// or   
////require_once 'PHPExcel/Writer/Excel2007.php'; // 用于 excel-2007 格式   
   
// 创建一个处理对象实例   
$objExcel = new PHPExcel();   
   
// 创建文件格式写入对象实例, uncomment   
////$objWriter = new PHPExcel_Writer_Excel5($objExcel);    // 用于其他版本格式   
// or   
////$objWriter = new PHPExcel_Writer_Excel2007($objExcel); // 用于 2007 格式   
//$objWriter->setOffice2003Compatibility(true);   
   
//设置文档基本属性   
$objProps = $objExcel->getProperties();   
$objProps->setCreator("Zeal Li");   
$objProps->setLastModifiedBy("Zeal Li");   
$objProps->setTitle("Office XLS Test Document");   
$objProps->setSubject("Office XLS Test Document, Demo");   
$objProps->setDescription("Test document, generated by PHPExcel.");   
$objProps->setKeywords("office excel PHPExcel");   
$objProps->setCategory("Test");   
   
//设置当前的sheet索引,用于后续的内容操作。   
//一般只有在使用多个sheet的时候才需要显示调用。   
//缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0   
$objExcel->setActiveSheetIndex(0);   
$objActSheet = $objExcel->getActiveSheet();   
   
//设置当前活动sheet的名称   
$objActSheet->setTitle('测试Sheet');   
   
//设置单元格内容   
//   
//由PHPExcel根据传入内容自动判断单元格内容类型   
$objActSheet->setCellValue('A1', '字符串内容');  // 字符串内容   
$objActSheet->setCellValue('A2', 26);            // 数值   
$objActSheet->setCellValue('A3', true);          // 布尔值   
$objActSheet->setCellValue('A4', '=SUM(A2:A2)'); // 公式   
   
//显式指定内容类型   
$objActSheet->setCellValueExplicit('A5', '847475847857487584',    
                                   PHPExcel_Cell_DataType::TYPE_STRING);   
//合并单元格   
$objActSheet->mergeCells('B1:C22');   
   
//分离单元格   
$objActSheet->unmergeCells('B1:C22');   
   
//设置单元格样式   

//设置宽度   
$objActSheet->getColumnDimension('B')->setAutoSize(true);   
$objActSheet->getColumnDimension('A')->setWidth(30);   
   
$objStyleA5 = $objActSheet->getStyle('A5');   
   
//设置单元格内容的数字格式。   
//   
//如果使用了 PHPExcel_Writer_Excel5 来生成内容的话,   
//这里需要注意,在 PHPExcel_Style_NumberFormat 类的 const 变量定义的   
//各种自定义格式化方式中,其它类型都可以正常使用,但当setFormatCode   
//为 FORMAT_NUMBER 的时候,实际出来的效果被没有把格式设置为"0"。需要   
//修改 PHPExcel_Writer_Excel5_Format 类源代码中的 getXf($style) 方法,   
//在 if ($this->_BIFF_version == 0x0500) { (第363行附近)前面增加一   
//行代码:    
//if($ifmt === '0') $ifmt = 1;   
//   
//设置格式为PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大数字   
//被使用科学记数方式显示,配合下面的 setAutoSize 方法可以让每一行的内容   
//都按原始内容全部显示出来。   
$objStyleA5   
    ->getNumberFormat()   
    ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);   
   
//设置字体   
$objFontA5 = $objStyleA5->getFont();   
$objFontA5->setName('Courier New');   
$objFontA5->setSize(10);   
$objFontA5->setBold(true);   
$objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);   
$objFontA5->getColor()->setARGB('FF999999');   
   
//设置对齐方式   
$objAlignA5 = $objStyleA5->getAlignment();   
$objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);   
$objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);   
   
//设置边框   
$objBorderA5 = $objStyleA5->getBorders();   
$objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);   
$objBorderA5->getTop()->getColor()->setARGB('FFFF0000'); // color   
$objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);   
$objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);   
$objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);   
   
//设置填充颜色   
$objFillA5 = $objStyleA5->getFill();   
$objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID);   
$objFillA5->getStartColor()->setARGB('FFEEEEEE');   
   
//从指定的单元格复制样式信息.   
$objActSheet->duplicateStyle($objStyleA5, 'B1:C22');   
 
//添加图片   
$objDrawing = new PHPExcel_Worksheet_Drawing();   
$objDrawing->setName('ZealImg');   
$objDrawing->setDescription('Image inserted by Zeal');   
$objDrawing->setPath('./zeali.net.logo.gif');   
$objDrawing->setHeight(36);   
$objDrawing->setCoordinates('C23');   
$objDrawing->setOffsetX(10);   
$objDrawing->setRotation(15);   
$objDrawing->getShadow()->setVisible(true);   
$objDrawing->getShadow()->setDirection(36);   
$objDrawing->setWorksheet($objActSheet);   
   
//添加一个新的worksheet   
$objExcel->createSheet();   
$objExcel->getSheet(1)->setTitle('测试2');   
   
//保护单元格   
$objExcel->getSheet(1)->getProtection()->setSheet(true);   
$objExcel->getSheet(1)->protectCells('A1:C22', 'PHPExcel');   
      
//输出内容   
//   
$outputFileName = "output.xls";   
//到文件   
////$objWriter->save($outputFileName);   
//or   
//到浏览器   
////header("Content-Type: application/force-download");   
////header("Content-Type: application/octet-stream");   
////header("Content-Type: application/download");   
////header('Content-Disposition:inline;filename="'.$outputFileName.'"');   
////header("Content-Transfer-Encoding: binary");   
////header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");   
////header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");   
////header("Cache-Control: must-revalidate, post-check=0, pre-check=0");   
////header("Pragma: no-cache");   
////$objWriter->save('php://output');
?>   

您可能感兴趣的文章:
PHP导出EXCEL的简单范例 使用phpexcel类库导出excel
phpExcel类的使用方法分享
phpexcel导出excel的经典实例
PHPExcel读取excel文件的例子
phpexcel类库实例 支持(excel2003 excel2007)
phpexcel导出数据的实例代码
phpexcel导入excel到数据库的代码
phpexcel快速开发指南(不错)
phpExcel中文帮助手册(知识点)
使用PHPExcel判别和格式化Excel中的日期格式的例子
phpexcel导出excel的颜色与网页中颜色不一致的解决方法
CI中使用PHPExcel导出数据到Excel


    
[2]PHP header函数用法举例
    来源: 互联网  发布时间: 2013-12-24

本节内容:
header函数

介绍下php中header函数的一些例子。

例1,浏览器重定向
 

代码示例:
 <?PHP
Header(“Location: http://www.”;);
exit;   //在每个重定向之后都必须加上“exit”,避免发生错误后,继续执行。
?>
<?php
header(“refresh:3;url=http://www.”);
print(‘正在加载,请稍等…<br>三秒后自动跳转~~~’);
header重定向 就等价于替用户在地址栏输入url
?>  

例2,禁止页面在IE中缓存
 

代码示例:
<?PHP
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s') .' GMT');
header('Cache-Control: no-store, no-cache, must-ridate');
header('Cache-Control: post-check=0, pre-check=0',false);
header('Pragma: no-cache');//兼容http1.0和https
?>
CacheControl = no-cache
Pragma=no-cache
Expires = -1

说明:
如果服务器上的网页经常变化,就把Expires设置为-1,表示立即过期。
如果一个网页每天凌晨1点更新,可以把Expires设置为第二天的凌晨1点。
当HTTP1.1服务器指定CacheControl = no-cache时,浏览器就不会缓存该网页。
旧式 HTTP 1.0 服务器不能使用 Cache-Control 标题。所以为了向后兼容 HTTP 1.0 服务器,IE使用Pragma:no-cache 标题对 HTTP 提供特殊支持。
如果客户端通过安全连接 (https://) 与服务器通讯,且服务器在响应中返回 Pragma:no-cache 标题,则 Internet Explorer 不会缓存此响应。

注意:
Pragma:no-cache 仅当在安全连接中使用时才防止缓存,如果在非安全页中使用,处理方式与 Expires:-1 相同,该页将被缓存,但被标记为立即过期。

http-equiv meta标记:
在html页面中可以用http-equiv meta来标记指定的http消息头部。
老版本的IE可能不支持html meta标记,所以最好使用http消息头部来禁用缓存。

例3,让使用者的浏览器出现找不到档案的信息。

网上资料显示:php的函数header()可以向浏览器发送Status标头,
例如:

代码示例:
header(”Status: 404 Not Found”)


实际上浏览器返回的响应却是:
 

HTTP/1.x 200 OK
Date: Thu, 03 Aug 2006 07:49:11 GMT
Server: Apache/2.0.55 (Win32) PHP/5.0.5
X-Powered-By: PHP/5.0.5
Status: 404 Not Found
Content-Length: 0
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive
Content-Type: text/html

因此,正确的写法是:
 

代码示例:
header(”http/1.1 404 Not Found”);

第一部分为HTTP协议的版本(HTTP-Version);
第二部分为状态代码(Status);
第三部分为原因短语(Reason-Phrase)。

例4,让使用者下载档案( 隐藏文件的位置 )
html标签 就可以实现普通文件下载。
如果为了保密文件,就不能把文件链接告诉别人,可以用header函数实现文件下载。
 

代码示例:
<?php
header(“Content-type: application/x-gzip”);
header(“Content-Disposition: attachment; filename=文件名”);
header(“Content-Description: PHP3 Generated Data”);
?>

例5 ,header函数前输入内容
一般来说在header函数前不能输出html内容,类似的还有setcookie() 和 session 函数,这些函数需要在输出流中增加消息头部信息。

如果在header()执行之前有echo等语句,当后面遇到header()时,就会报出 “Warning: Cannot modify header information – headers already sent by ….”错误。
在这些函数的前面不能有任何文字、空行、回车等,而且最好在header()函数后加上exit()函数。

例如,以下的错误写法,在两个 php代码段之间有一个空行:
 

代码示例:
//some code here
?>
//这里应该是一个空行
header(”http/1.1 403 Forbidden”);
exit();
?>

原因分析:
PHP脚本开始执行 时,它可以同时发送http消息头部(标题)信息和主体信息。
http消息头部(来自 header() 或 SetCookie() 函数)并不会立即发送,相反,它被保存到一个列表中。

如此,即可允许修改标题信息,包括缺省的标题(例如 Content-Type 标题)。

但是,一旦脚本发送了任何非标题的输出(例如,使用 HTML 或 print() 调用),那么PHP就必须先发送完所有的Header,然后终止 HTTP header。
而后继续发送主体数据,从这时开始,任何添加或修改Header信息的试图都是不允许的,并会发送上述的错误消息之一。

解决办法:
修改php.ini打开缓存(output_buffering),或者在程序中使用缓存函数ob_start(),ob_end_flush() 等。

原理分析:
output_buffering被启用时,在脚本发送输出时,PHP并不发送HTTP header。

相反,它将此输出通过管道(pipe)输入到动态增加的缓存中(只能在PHP 4.0中使用,它具有中央化的输出机制)。

可以修改/添加header,或者设置cookie,因为header实际上并没有发送。
当全部脚本终止时,PHP将自动发送HTTP header到浏览器,然后再发送输出缓冲中的内容。

附,其它一些有关php header函数的例子。
 

代码示例:
<?php
// ok
header(‘HTTP/1.1 200 OK’);
//设置一个404头:
header(‘HTTP/1.1 404 Not Found’);
//设置地址被永久的重定向
header(‘HTTP/1.1 301 Moved Permanently’);
//转到一个新地址
header(‘Location: http://www./’);
//文件延迟转向:
header(‘Refresh: 10; url=http://www./’);
print ‘You will be redirected in 10 seconds’;
//当然,也可以使用html语法实现
// <meta http-equiv=”refresh” content=”10;http://www./ />
// override X-Powered-By: PHP:
header(‘X-Powered-By: PHP/4.4.0′);
header(‘X-Powered-By: Brain/0.6b’);
//文档语言
header(‘Content-language: en’);
//告诉浏览器最后一次修改时间
$time = time() – 60; // or filemtime($fn), etc
header(‘Last-Modified: ‘.gmdate(‘D, d M Y H:i:s’, $time).’ GMT’);
//告诉浏览器文档内容没有发生改变
header(‘HTTP/1.1 304 Not Modified’);
//设置内容长度
header(‘Content-Length: 1234′);
//设置为一个下载类型
header(‘Content-Type: application/octet-stream’);
header(‘Content-Disposition: attachment; filename=”example.zip”‘);
header(‘Content-Transfer-Encoding: binary’);
// load the file to send:
readfile(‘example.zip’);
// 对当前文档禁用缓存
header(‘Cache-Control: no-cache, no-store, max-age=0, must-ridate’);
header(‘Expires: Mon, 26 Jul 1997 05:00:00 GMT’); // Date in the past
header(‘Pragma: no-cache’);
//设置内容类型:
header(‘Content-Type: text/html; charset=iso-8859-1′);
header(‘Content-Type: text/html; charset=utf-8′);
header(‘Content-Type: text/plain’); //纯文本格式
header(‘Content-Type: image/jpeg’); //JPG图片
header(‘Content-Type: application/zip’); // ZIP文件
header(‘Content-Type: application/pdf’); // PDF文件
header(‘Content-Type: audio/mpeg’); // 音频文件
header(‘Content-Type: application/x-shockwave-flash’); //Flash动画
//显示登陆对话框
header(‘HTTP/1.1 401 Unauthorized’);
header(‘WWW-Authenticate: Basic realm=”Top Secret”‘);
print ‘Text that will be displayed if the user hits cancel or ‘;
print ‘enters wrong login data’;
?>

    
[3]php访问sqlite数据库的例子
    来源: 互联网  发布时间: 2013-12-24

本节内容:
php访问sqlite数据库的例子

例1,访问sqlite数据库(Access sqlite database)
 

代码示例:

<?php
$dbconn = sqlite_open('phpdb');

    if ($dbconn) {
            sqlite_query($dbconn, "CREATE TABLE animal(Name VARCHAR(255), MaxAge INT);");
            sqlite_query($dbconn, "INSERT INTO animal VALUES ('A', 15)");
            $result = sqlite_query($dbconn, "SELECT Name FROM animal");
            var_dump(sqlite_fetch_array($result, SQLITE_ASSOC));
    } else {
            print "Connection to database failed!\n";
    }

例2,将结果集保存到数组中
 

代码示例:

<?php
     $rows = array();

     while($row = sqlite_fetch_array($result, $res_type, $decode)) {
        $rows[] = $row;
     }
?>
 

附,SQLite Error Constants
 

SQLITE_OK              No error occurred.
 
SQLITE_ERROR           SQLite error (or database not found).
 
SQLITE_INTERNAL        An internal SQLite error.
 
SQLITE_PERM            Access permission denied.
 
SQLITE_ABORT           Callback routine aborted.
 
SQLITE_BUSY            The database file is currently locked.
 
SQLITE_LOCKED          A table within the database is locked.
 
SQLITE_NOMEM           SQLite memory allocation error.
 
SQLITE_READONLY        An attempt to write to a read-only database.
 
SQLITE_INTERRUPT       Interrupted operation.
 
SQLITE_IOERR           A file I/O error has occurred.
 
SQLITE_CORRUPT         The specified database is corrupted.
 
SQLITE_FULL            Database is full.
 
SQLITE_CANTOPEN        Could not open database file.
 
SQLITE_PROTOCOL        Database lock protocol error.
 
SQLITE_SCHEMA          The database schema changed.
 
SQLITE_TOOBIG          Too much data for a single row.
 
SQLITE_CONSTRAINT      Abort due to constraint violation.
 
SQLITE_MISMATCH        Data type mismatch.
 
SQLITE_AUTH            Authorization denied.
 
SQLITE_ROW             sqlite_step() has another row ready.
 
SQLITE_DONE            sqlite_step() has finished executing.

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
linux iis7站长之家
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3