php技术博客

记录php相关学习知识及开发示例、疑难问题等

使用php代码导出表格方法(四)PhpSpreadsheet库使用

由于PHPExcel已经不再维护,PhpSpreadsheet是PHPExcel的下一个版本。PhpSpreadsheet是一个用纯PHP编写的库,并引入了命名空间,PSR规范等。这里使用PhpSpreadsheet库来实现导出表格的方法。这里表格导出实现了 单元格合并,居中、单元格宽度等设置。

使用php代码读取表格方法(二)PhpSpreadsheet库使用

由于PHPExcel已经不再维护,PhpSpreadsheet是PHPExcel的下一个版本。PhpSpreadsheet是一个用纯PHP编写的库,并引入了命名空间,PSR规范等。这里简单介绍下PhpSpreadsheet库的表格读取数据功能。

使用php代码读取表格方法(一)PHPExcel类使用

读取表格这个开发中经常遇到的事情,下面来介绍下使用PHPExcel来读取表格数据的例子,这里主要写下php处理表格那块的代码

php面试题之按照指定数量从尾部开始分割字符串

这个面试题要求从尾部开始安装指定位数分割字符串,如“1234567”,按3位长度分割,转换为“1,234,567”。对php函数比较熟悉的,知道可以用 number_format('1234567') 来生产结果。但是我们要知道 number_format只能对数值型字符串进行处理,并且只能按照3位长度分割。如何使用通用的解决方案了。下面是用两种方法来实现上面的方法function str_format1($str,$sep_number=3,$sep=','){     if($sep_number 

php面试题之如何判断域名是否为拼音域名

之前面试一个搞域名相关服务的公司,有一道笔试题是如何判断一个域名是否为拼音域名,即域名是拼音组成的,如baidu.com,可以是“百度”、“拜读”、“摆渡”的拼音。可以是一个字拼音、两个字拼音、三个等等。解决思路如下,我们收集出所有汉字的拼音的集合,然后循环判断域名是否在这个集合中。具体代码如下:$pinyinArr=array("a","ai","an","ang","ao", "ba","bai","ban","bang","bao","be","bei","ben","beng","bi","bian","biao","bie","bin","bing","bo","bu", "ca","cai","can","cang","cao","ce","cen","ceng","cha","chai","chan","chang","chao","che","chen","cheng","chi","chong","chou","chu","chua","chuai","chuan","chuang","chui","chun","chuo","ci","cong","cou","

php代码将amr格式录音转换为mp3

有个需求是,录音后可以在页面播放这段录音。安卓下录音后格式为amr格式,这个格式在苹果手机下播放不了。搜索了下,需要服务器安装ffmpeg程序,有个命令可以帮amr转换为mp3格式的音频,mp3在安卓、苹果下都可以播放。下面介绍下具体的实现方法ffmpeg下载地址:http://ffmpeg.org/download.htmllinux下可以下载静态版本包,静态版本包地址:https://johnvansickle.com/ffmpeg/,可以按照cpu版本,下载对应的包。如服务器cpu为intel的,下载 ffmpeg-release-i686-static.tar.xz 包相关命令如下wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-i686-static.tar.xz tar -Jxvf ffmpeg-release-i686-static.tar.xz #解压后目录为:/root/ffmpeg-4.2.2-i686-static cd /root/f

使用php代码导出表格方法(三)PHPExcel类使用

为方便,之前使用csv方式来导出xls文档。现在需求改了,要导出待有合并单元格形式展示的文档。这次使用 phpexcel来生成,并设置单元格的格式,如宽度、居中、数字格式等。基本步骤为:加载PHPExcel.php文件,并实例化PHPExcel类,写入数据并设置单元格的格式。include './Classes/PHPExcel.class.php'; //引入PHPExcel类所在的文件,根据具体路径修改 $phpexcel=new PHPExcel(); $phpexcel->setActiveSheetIndex(0);//设置活动sheet   $objActSheet = $phpexcel->getActiveSheet();//获取当前活动sheet对象   //简单输出几个数据,真实环境中需要遍历循环输出的数据 $objActSheet->setCellValue('A1','单号')->mergeCells('A1:A2'

使用php代码导出表格方法(二)html代码方式

这一篇我们介绍通过输出指定html格式代码来导出表格。如果熟悉html代码,table相关标签的,和css样式,可以采取这种方法来导出表格。具体代码大家可以查看附件文件。 ps:html编码要与文件编码一致

使用php代码导出表格方法(一)csv方式

在实际开发中,经常遇到帮数据导出表格操作。今天我们来讲下导出csv格式方式,这种是最快捷的、占用资源少的方法。这里简单介绍下csv格式,每一行数据间使用 换行符分割,每一列值之间通过逗号分割。这里要注意下 值里面可能含有特殊字符,如果不进行相关转义操作,会造成解析错误。下面也会提供解决方法function quoteCsvField($str,$force=false){     if($force || strpos($str,',')!==false || strpos($str,'"') !==false || strpos($str,"\n") !==false || strpos($str,"\n") !==false){         $str='"'.str_replace(&#39

如何在curl方式下url请求域名使用指定ip地址来访问某个服务器

如果某个域名对应多个ip,即有多台服务器。如何通过curl来访问指定一台服务器的url信息了。我们知道一般使用curl获取url信息的代码如下$url="http://www.phper163.com/"; $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_TIMEOUT,5); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $content=curl_exec($ch); echo $content;如果想访问39.99.204.74这个ip服务器的内容了,可以将请求url中域名部分改用ip方式,并加上Host请求头信息。具体示例代码如下$url='http://39.99.204.74/index.php'; $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_TIMEOUT,5); curl_se

如何在php中获取curl请求的请求头信息及响应头信息

获取请求头信息,可以在curl_exec函数执行前,添加代码curl_setopt($ch,CURLINFO_HEADER_OUT,true);然后在curl_exec函数执行后,通过 curl_getinfo($ch,CURLINFO_HEADER_OUT) 来获取curl执行请求的请求数据。获取响应头信息,可以在curl_exec函数执行前,添加代码 curl_setopt($ch, CURLOPT_HEADER, true);curl_setopt($ch, CURLOPT_NOBODY,false); 之后 通过curl_exec函数来获取响应头信息。对curl_exec获取的值通过\r\n\r\n进行分割截取第一部分即为响应头信息。下面给出一个具体的例子:$url='http://www.phper163.com/'; $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_TIMEOUT,5); curl_setopt($ch,CURL

自定义函数实现php处理gbk编码下json_encode功能

开发过php代码的程序员都知道,php自带的json_encode函数只能对 utf-8编码数据进行json转换,gbk下中文编码会丢失,变成null值。如何兼容gbk编码,并且utf-8转换后,数据长度会变大,如汉字“你好”会转换为“\u4f60\u597d”,长度有6个变成12。大量文字下,转换后数据会变得更多,占用更多带宽资源。下面通过自定义函数来避免上面两个问题function _json_encode($val) {     if (is_string($val)) return '"'.str_replace(array('\\',"\r","\n",'"','/',"\t","\f"),array('\\\\','\r','\n','\\"','\/','\t','\f'),$val).'"'; &