第一步:LibreOffice实现word转pdf
第二步:利用 Imagick、GhostScript 把pdf文件转成图片
/**
* 得到目录下所有文件数组(仅是文件名)
*/
function foreachDir($path){
$fileArray = array();
// 打开文件夹
if( $handle=opendir($path) ){
while ( false !== ($file = readdir($handle)) ) {
// 排除 当前目录 上级目录
if( $file!="." && $file!='..'){
// 打开的是目录
if(is_dir($path.$file)){
foreachDir($path.$file);
// 打开的是文件
}else{
$fileArray[] = $file;
}
}
}
return $fileArray;
}
}
// 得到目录下所有文件数组(仅是文件名)
$fileList = foreachDir('./textbooks');
// PHP 第一次加密 sha256
function SHA256($str)
{
$re = hash('sha256', $str, true);
return bin2hex($re);
}
// PHP 第二次加密 基于md5的加密算法hmac
// md5已经不是那么安全了,多折腾几下吧
// @param String $data 预加密数据
// @param String $key 密钥
// @return String
function HmacMd5($data, $key)
{
// RFC 2104 HMAC implementation for php.
// Creates an md5 HMAC.
// Eliminates the need to install mhash to compute a HMAC
// Hacked by Lance Rushing(NOTE: Hacked means written)
//需要配置环境支持iconv,否则中文参数不能正常处理
$key = iconv("GB2312", "UTF-8", $key);
$data = iconv("GB2312", "UTF-8", $data);
$b = 64; // byte length for md5
if (strlen($key) > $b) {
$key = pack("H*", md5($key));
}
$key = str_pad($key, $b, chr(0x00));
$ipad = str_pad('', $b, chr(0x36));
$opad = str_pad('', $b, chr(0x5c));
$k_ipad = $key ^ $ipad;
$k_opad = $key ^ $opad;
return md5($k_opad . pack("H*", md5($k_ipad . $data)));
}
首先,把PHP数组中的数据写入JSON文件。
<?php
// 生成一个PHP数组
$data = array();
$data['a'] = 'test';
$data['b'] = 'bbb';
// 把PHP数组转成JSON字符串
$json_string = json_encode($data);
// 写入文件
file_put_contents('test.json', $json_string);
?>
然后,把JSON文件中的数据读取到PHP变量中。
<?php
// 从文件中读取数据到PHP变量
$json_string = file_get_contents('test.json');
// 把JSON字符串转成PHP数组
$data = json_decode($json_string, true);
// 显示出来看看
var_dump($data);
?>
第一步:
yum search libwebp
第二步:根据服务器环境,选择适合的 版本 并进行安装
yum install libwebp-devel.x86_64
如果安装完后发现还是不能运行dwebp命令,再把libwebp-tools.x86_64安装了一下
yum install libwebp-tools.x86_64
第三步 安装成功后,就可以使用了
dwebp test.webp -o test.jpeg
windows 下安装PHP集成环境 wnmp ,在第一次启动时,会报错,需要打开 php.ini 文件 修改如下配置:
找到
session.auto_start = 0
修改为:
session.auto_start = 1
// 配置报错目录,保证目录可读,存在
session.save_path = "D:\WNMPSVR\tmp"
/**
* 批量修改文件后缀名
* @param $path 文件夹路径
* @param $sext 原文件后缀名 ($sext=all说明整个目录的所有文件)
* @param $dext 目的文件后缀名
* @return void
*/
function foreachDir($path,$sext,$dext){
// 打开文件夹
if( $handle=opendir($path) ){
while ( false !== ($file = readdir($handle)) ) {
// 排除 当前目录 上级目录
if( $file!="." && $file!='..'){
// 打开的是目录
if(is_dir($path.$file)){
foreachDir($path.$file);
// 打开的是文件
}else{
// . 在文件名字符串中最后出现的位置索引值
$ext = strripos($file,'.');
// 得到文件名
$fileName = substr($file,0,$ext);
// 完整路径原文件名
$src = $path.'/'.$file;
// 完整路径新文件名
$dest = $path.'/'.$fileName.'.'.$dext;
if($sext!="all"){
// 原文件名替换如 .txt to .doc
if( $sext == substr($src,0-strlen($sext))){
rename($src,$dest);
}
}else{
rename($src,$dest);
}
}
}
}
return false;
}
}
// 调用 目录下所有文件名后缀为 .c 更名成 .txt
foreachDir('D:src','c','txt');
// 调用 目录下所有文件不管什么后缀名 更名为 .txt
foreachDir('D:src','all','txt');