需要帮助客户搞定自动生成合同,动态生成借款信息。于是折腾学习了一波,记录下。这点钱赚的真辛苦。妈的。
composer地址
composer require phpoffice/phpword
word模板格式:
甲方(借款人) :${borBusNm}
身份证号码:${aidcard}
乙方(出借人) :${lender}
身份证号码:${bidcard}php代码控制:替换变量名称就行
// 打开 Word 文件
$template = new TemplateProcessor('./zbp.docx');
// 替换字符串
$template->setValue('borBusNm', '高久峰');
// 保存修改后的文件
$template->saveAs('./zbp1.docx');php官方已经提供了Iterator(迭代器)接口,通过网上资料的学习,目前看适合超大集合或者数组提取使用。学习一个函数的实现对比内存占用差距.使用迭代器和普通循环实现range()函数。(1).普通循环实现range()函数。function newrange($low, $h...
上篇文章已经讲解arrayacces的原理,现在来讲解下arrayaccess的实际应用。一个大型的互联网项目中必然会存在各种配置信息,例如多种数据库信息:mysql,tidb,mongodb,redis,某个业务模块单独的配置信息如比例,额度等等,那么该如何治理配置信息?PHP项目中大部分的框架都...
(1).前端文件:<form action="upload.php" method="post" enctype="multipart/form-data"> &...
使用openssl扩展对应替换mcrypt的函数,(比较麻烦,但是openssl是未来趋势)在新版php中编译mcrypt扩展使用一个纯php代码实现的mcrypt扩展库,git地址为https://github.com/phpseclib/mcrypt_compat,每个mcrypt的方法都已经实...
elasticsearch的操作都是基于http协议的,已经有现成的php类库,composer安装即可。{ "require": { &...
由于workerman底层直接读取$_SERVER['argv']的命令行参数,没有提供独立的方法start/stop,而tp的命令行参数无法适配workerman,虽然thinkphp官方专门做了一个适配的版本,但是看了下评论问题挺多的。于是自己来搞一个.(1).在applicat...