php
amberom
这个作者很懒,什么都没留下…
展开
-
TP5中模型使用join关联查询,或者子查询,带时间查询时,出现找不到表的情况
需要把子查询变为闭包查询。原创 2024-06-18 15:09:20 · 205 阅读 · 0 评论 -
解决PHP报错cURL Error #:SSL certificate problem: unable to get local issuer certificate
PHP在使用接口请求数据是出现cURL Error #:SSL certificate problem: unable to get local issuer certificate错误问题,解决方法就是取消curl的ssl检查。这样就解决了curl报错问题。转载 2023-02-19 10:13:09 · 1388 阅读 · 0 评论 -
PhpStorm自定义代码自动完成
File --> Settings --> Editor --> Live Templates,点击JavaScript,点击右上的"Add",类型选“Live Template”Abbreviation(缩写)填“for”,Template Text 粘贴要自动完成的代码,然后点击OK 按钮左上的Define。PhpStorm 可以自定义代码补全,我们可以利用这个功能简化常用代码的书写。选中JavaScript。转载 2022-11-01 10:19:13 · 735 阅读 · 0 评论 -
phpstorm卡顿的解决办法[亲测有用]
可谓是情有独钟,但是发现随着开发phpStorm逐渐变得卡顿,也试过其他的编译器,但是都感觉没有PhpSrom好用,网上百度了一下,看到不一样的回答。phpstorm是使用JAVA开发的。找到JetBrains\PhpStorm 2017.1.4\bin\目录下: (推荐学习:phpstorm)而只要在JAVA环境中让系统默认使用硬件加速,就可以解决占用系统资源过大,让phpstorm卡的问题了。而phpstorm默认的JAVA环境并没有利用机器的硬件加速技术去实现实时渲染,因此当然会让系统卡死。转载 2022-10-19 14:49:47 · 1108 阅读 · 0 评论 -
header(‘Access-Control-Allow-Origin:*‘)(什么是跨域?如何解决跨域)
例如www.123.com/index.html需要调用www.456.com/server.php,可以写一个接口www.123.com/server.php,由这个接口在后端去调用www.456.com/server.php并拿到返回值,然后再返回给index.html,这就是一个代理的模式。http://www.123.com:8080/index.html 调用 http://www.123.com:8081/server.php (端口不同:8080/8081,跨域)//允许所有来源访问。...转载 2022-08-19 09:45:40 · 1108 阅读 · 0 评论 -
PHP使用header实现文件下载功能
feof用来判断文件是否已经读到了末尾,fread用来把文件读入缓冲区,缓冲区的大小是1024,一边读取一边把数据输出到浏览器。php文件下载可以使用http的请求头加上php的IO可以实现,很久之前写过这么一个功能,后来代码没了,今天记录一下。5、php的文件下载机制是首先nginx把文件信息读入服务器内存,然后使用请求头把文件二进制信息通过浏览器传给客户端。Accept-Length:表示接收的文件大小,php文件下载需要告诉浏览器下载的文件有多大。指示该报头是否替换之前的报头,或添加第二个报头。...转载 2022-08-11 10:20:22 · 2978 阅读 · 0 评论 -
PHP利用GD库把数据生成图片表格
PHP利用GD库把数据生成图片表格,所有参数单独配置,$params为动态参数,$base为静态参数,很容易扩展成多行多列的表格。先上生成的效果,免得不是各位看官要的效果。转载 2022-08-11 10:05:47 · 899 阅读 · 1 评论 -
PhpSpreadsheet 设置常用格式
use PhpOffice\PhpSpreadsheet\Reader\Xlsx;use PhpOffice\PhpSpreadsheet\Spreadsheet;//导出处理$objPHPExcel = new Spreadsheet();$objPHPExcel->setActiveSheetIndex(0);//水平居中对齐样式$styleCenterArray = [ 'alignment' => [ 'horizontal' => \Ph.原创 2022-04-29 09:46:56 · 1640 阅读 · 0 评论 -
php- 秒的转换 (天 小时 分钟) (小时 分钟 )
private function convert($second) { $newtime = ''; $d = floor($second / (3600*24)); $h = floor(($second % (3600*24)) / 3600); $m = floor((($second % (3600*24)) % 3600) / 60); if ($d>'0') { if ($h .转载 2022-04-24 15:04:30 · 879 阅读 · 0 评论 -
输出CSV文件并直接打开时出现SYLK异常
今天在项目中遇到后台生成的CSV文件在发送后,如果直接点击“打开”,报了个SYLK的异常,查找之后发现原来CSV文件的头两个字不能是大写字母更改成小写后果然问题解决。PS: 文本文件和CSV文件同样的处理方法。...转载 2022-04-11 12:04:24 · 302 阅读 · 0 评论 -
Tp5.1 生成一套pc(电脑)端一套mobile(手机)端
1.首先是在application下面的 common.php 里面判断是手机端还是电脑端,附上代码:if (Request::isMobile()) { define('VIEW_PATH', __DIR__ . '/../application/index/view/mobile/');} else { define('VIEW_PATH', __DIR__ . '/../application/index/view/pc/');}先要在上面use 一下 use thin转载 2022-04-06 15:44:34 · 374 阅读 · 0 评论 -
小程序登陆 后台接收code据报错“cURL error 60: SSL certificate problem: unable to get local issuer certifica”的解决方法
本地小程序把接口换到本地的服务器接口,然后就报错了:cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)经查询查到:此问题的出现是由于没有配置信任的服务器HTTPS验证。默认,cURL被设为不信任任何CAs,就是说,它不信任任何服务器验证。因此,这就是浏览器无法通过HTTPs访问你服务器转载 2022-03-18 16:07:45 · 513 阅读 · 0 评论 -
PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0
php.ini文件中的extension=php_xdebug改成zend_extension=php_xdebug原创 2022-03-18 10:23:12 · 356 阅读 · 0 评论 -
php将数组键名转换为变量名
使用 extract() 函数<?php$a = "Original";$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");extract($my_array);echo "\$a = $a; \$b = $b; \$c = $c";//输出://$a = Cat; $b = Dog; $c = Horse?>原创 2022-03-12 10:41:41 · 633 阅读 · 0 评论 -
修复百度编辑器插入视频的bug,可实时预览视频,可修改到支持手机查看视频
站在前人的肩膀上我们就可以站的更高,看得更远。所以,请在 ueditor.config.js中搜索 whitlist , 在后面加入source: ['src', 'type'],embed: ['type', 'class', 'pluginspage', 'src', 'width', 'height', 'align', 'style', 'wmode', 'play', + 'autoplay','loop', 'menu', 'allowscriptaccess',转载 2021-12-16 15:01:39 · 613 阅读 · 0 评论 -
PHP 数组按多个字段排序
$array1 = array( 0=>array('id'=>8,'name'=>'Apple','age'=> 18), 1=>array('id'=>8,'name'=>'Bed','age'=>17), 2=>array('id'=>5,'name'=>'Cos','age'=>16), 3=>array('id'=>5,'name'=>'Cos','age'.转载 2021-11-27 17:30:47 · 401 阅读 · 0 评论 -
PHPExcel设置默认列宽
今天,我对excelphp有一点问题. 我想手动设置列的默认宽度,并且一次只能设置一次.我在stackoverflow上也找到了一些解决方案,建议更改每个单列的值(例如,在循环中).但是我想用一个命令来完成它.解决方案浏览源代码后,我发现了以下解决方案:$phpExcelObject->getActiveSheet()->getDefaultColumnDimension() ->setWidth($myCustomWidth);我希望这对其他人有帮助;)转载 2021-11-27 14:28:16 · 2047 阅读 · 1 评论 -
获取base64图片大小
$imgLen = strlen($base64);$fileSize = $imgLen - ($imgLen / 8) * 2;$fileSize = number_format(($fileSize / 1024), 2) . 'kb';转载 2021-11-19 11:26:17 · 771 阅读 · 0 评论 -
PHP获取当前网址路径
$_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']// 获取来源function getClientUrl() { if (array_key_exists('HTTP_REFERER', $_SERVER)) { $origin = $_SERVER['HTTP_REFERER']; } elseif (array_key_exists('HTTP_OR.转载 2021-11-18 16:10:54 · 1112 阅读 · 0 评论 -
TP5.1中判断手机端和PC端
一、判断手机端和PC端1. 使用自定义方法function isMobile(){ // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } //此条摘自TPM智能切换模板引擎,适合TPM开发 if (isset ($_SERVER['HTTP_CLIENT']) && 'PhoneC转载 2021-11-13 17:07:07 · 967 阅读 · 0 评论 -
宝塔面板 nginx 设置TP5的伪静态(开启URL_rewrite)
代码片去宝塔页面 > 网站 > 子网站 > 设置 > 伪静态// 设置伪静态代码location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; }}保存即可.示例:https://域名/index.php/admin/user/index.htmlhttps://域名/admin/user/index.html...转载 2021-09-26 10:21:29 · 1816 阅读 · 0 评论 -
SQL查询去掉重复数据
本文主要总结数据库去掉重复数据的方法去掉重复数据的方法:第一种:distinct根据单个字段去重,能精确去重; 作用在多个字段时,只有当这几个字段的完全相同时,才能去重; 关键字distinct只能放在SQL语句中的第一个,才会起作用 上图举例说明:图中student_name 为 test的同学有两位,不同的是班级首先,单个字段 -》用distinct对student_name 进行筛选,单个字段查询的话,可以看到已经将一个重复的tes...转载 2021-09-24 14:12:55 · 58660 阅读 · 0 评论 -
PHPExcel报“Formula Error: An unexpected error occured”
以前用PHPExcel导出数据都是直接输出内容,也没有出现什么问题。今天导出突然出现,导出的时候PHPExcel抛出异常:!D183 -> Formula Error: An unexpected error occured’通过错误提示信息可以看见, 是在D列183行,发生错误,肯定是183行数据有些特殊。造成这种原因的是输出的内容中开头以’=’,造成PHPExcel解析的时候当成这个单元格的值是由其他单元格计算出来的,后面需要跟着一个合法表达式。如果不是这样,应该在程序中过滤掉。判断代转载 2021-07-12 15:35:50 · 1433 阅读 · 0 评论 -
PHP 拆分文字,将一串文字拆分成一个一个的文字
/* * 处理封面标题 文字竖排 * */function get_pdf_title_cl($str){ if($str){ preg_match_all("/[0-9]{1}/",$str,$arrNum);/*检测数字数量*/ preg_match_all("/[a-zA-Z]{1}/",$str,$arrAl);/*检测字母数量*/ $newStr = preg_replace('/[^\x{4e00}-\x{9fa5}]/u', ''.转载 2021-05-12 14:37:26 · 756 阅读 · 0 评论 -
json对象中的数组怎么转化为json字符串
JSON是一种数据交换格式,与XML数据格式相比更加方便使用,互联网中的URL请求接口大部分都是已JSON数据格式进行交互,对接数据解析也是非常方便容易,在字符串与JSON对象转换也是非常容易,就是由于JSON数据结构清晰,得到了非常广泛使用,下面小编教教大家如何使用工具/原料 电脑 方法/步骤 JSON字符串转换JSON对象有三种方法,如下 JSON.parse()函数 eval()函数 jQuery插件jQuery.parseJSON()或者$.parseJSON()转载 2021-03-18 16:05:56 · 4469 阅读 · 0 评论 -
tp5 连接多个数据库
1直接在config.php中中定义db_config_test'db_config_test' => 'mysql://root:root@127.0.0.1/table_namet#utf8',2.连接部分代码: //数据读取 例子$list = Db::connect('db_config_test')->table('table_name')->select();或者$list = Db::connect('db_config_test')->q...原创 2021-03-17 09:33:26 · 357 阅读 · 0 评论 -
php如何读取zip内容?(zip_entry_read函数的使用)
本篇文章主要给大家介绍PHP如何从打开的 zip 档案中获取内容,那么在PHP中有一个内置函数可以实现,即zip_entry_read()函数。zip_entry_read()函数是PHP中内置的函数,用于从打开的zip归档条目中读取内容。正在读取zip条目,返回的字节数可以作为参数发送给zip_entry_read()函数,如果成功,它将返回指定zip条目的内容,否则将返回PHP警告。语法:string zip_entry_read( $zip_entry, $length )参数:该函数转载 2021-03-12 17:28:35 · 369 阅读 · 0 评论 -
PHP 不解压zip文件读取里面的文件内容
<?php $zipPath = 'zip://test.zip#123.csv'; $fp = fopen($zipPath,'rb'); // 打开文件 if($fp !== false){ // 输出csv中所有的行,直到文件结束为止。 while(!feof($fp)){ // feof 检测是否已到达文件末尾 返回TRUE或者FALSE $data[] = fgetcsv($fp); }.转载 2021-03-12 15:54:08 · 294 阅读 · 0 评论 -
php压缩和读取压缩文件
1.php 压缩txt文件 $zip= new \ZipArchive(); $zip_path ="test.zip"; $zip->open($zip_path,\ZipArchive::CREATE); //打开压缩包 $zip->addFile($path,basename($path)); //向压缩包中添加文件 $zip->close(); //关闭压缩包2.获取压缩的txt文件内容$zip = zip_open("test.zip");if (转载 2021-03-11 16:44:05 · 495 阅读 · 0 评论 -
php读取csv文件数据,大批量写入数据库
直接上接口代码:public function updateKiwibuyuser(){ ini_set('memory_limit', '-1'); //PHP内存设置 $filePath = 'filename.csv'; // 文件路径 (要改成自己的路径) $handle=fopen($filePath,"r"); $allData = arr转载 2021-03-09 19:28:38 · 322 阅读 · 0 评论 -
phpstorm如何打开多个文件并显示所有文件名
菜单栏目 File>Settings>Editor>Editor Tabs去掉Show tabs in single row 前面的勾Tab limit 后面的数目填写要同时打开的文件原创 2021-03-05 17:18:12 · 1063 阅读 · 0 评论 -
php英文格式的时间Feb 15, 2021 9:26:36 PM 转换为Y-m-d H:i:s正常时间格式
date("Y-m-d H:i:s",strtotime('Feb 15, 2021 9:26:36 PM'))原创 2021-02-24 17:32:16 · 491 阅读 · 0 评论 -
php HTML转义,反转义
htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。预定义的字符是:& (和号) 成为 & " (双引号) 成为 " ' (单引号) 成为 ' < (小于) 成为 < > (大于) 成为 >相反的函数是htmlspecialchars_decode();或者 html_entity_decode();也可以反转义...原创 2021-02-23 17:14:18 · 3926 阅读 · 0 评论 -
php 生成唯一订单号4种方法
php生成唯一订单号的方法第一种$danhao = date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);第二种$danhao = date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);第三种//生成24位唯一订单号码,格式:YYYY-MMDD-HHII-SS-NNNN转载 2020-11-04 11:10:21 · 818 阅读 · 0 评论 -
PHP生成随机数;订单号唯一
//8-12位随机数function makeRand($num=8){ $strand = (double)microtime() * 1000000; if(strlen($strand)<$num){ $strand = str_pad($strand,$num,"0",STR_PAD_LEFT); } //return date('YmdHis').$third; return $s.转载 2020-11-03 15:44:16 · 595 阅读 · 0 评论 -
PHP实现菜单无限极分类
用PHP实现菜单无限极分类一般的项目菜单根据不同的用户,不同的角色登录,显示不同,如果仅仅用if else来判断就显得很笨拙,如果要修改菜单就很麻烦。最好的方法就是把菜单存储在数据库,然后从数据库中取出,遍历出来,显示到页面上。本文章的目的就是查询出来的数据,如何把菜单的韩上下级一 一对应:菜单数据这里我们的菜单数据是临时数据, 没有从数据库中查询处理,数据基本和数据库中的的相似. 数据如下:$items = array( 1 => array('id' =&转载 2020-10-20 11:26:25 · 234 阅读 · 0 评论 -
php 程序实现文件下载,兼容IE、Firefox、Chrome等浏览器
//这里是下载zip文件header("Content-Type: application/zip");header("Content-type: application/octet-stream");header("Content-Transfer-Encoding: Binary");header("Content-Length: " . filesize($file_path));$ua = $_SERVER [ 'HTTP_USER_AGENT' ];$file_name = base.原创 2020-06-24 17:34:46 · 346 阅读 · 0 评论 -
php 使用strtotime(’-1 month‘)获取上一个月月份的 错误
以Y-m-d格式输出上一个月的日期:date('Y-m-d',strtotime("-1 month"));==》输出结果2018-02-28(当前时间为2018-03-28)不过strtotime("-1 month") 在此处会有bug,当上一个月或者下一个月没有今天的日时,会输出错误,比如今天是3月30号,但是2月份没有30号,此时date('Y-m-d',strtotime("-1 month")); 输出的结果就是 2018-03-01同理,当在3月31号/5月31号/7月31号/...转载 2020-06-10 16:08:00 · 1242 阅读 · 0 评论 -
多表关联一对多查询实现取最新一条数据,tp5分组查询最新的数据
//构建子查询$comment_subquery = Db::name('comment') ->field('oid,calltime') ->order('calltime','desc') ->limit(1) ->buildSql();$list = OrderModel::alias('a') ->join([$comment_subquery=> 'b'], 'a.id=b.oid', 'left') -.原创 2020-06-10 10:30:45 · 3397 阅读 · 0 评论 -
TP5中volist嵌套时里层volist获取外层 volist循环的key
情景:tp5.0框架,有时我们需要在第二层volist,获取第一层的volist的key的值,如何获取呢?应该不少的朋友都不知怎么获取吧。TP5中有两个嵌套的volist循环,采用的是关联数组,怎样在循环内部分别获取外层volist的Key和内层volist的key值?解决方法:在tp5中的ASSIGN标签ASSIGN标签用于在模板文件中定义变量{volist name='$data' id='user' key='k'} {assign name="etype" value="$k..转载 2020-06-04 16:32:10 · 2470 阅读 · 0 评论