php
文章平均质量分 58
慕世妮
这个作者很懒,什么都没留下…
展开
-
php 关于浮点数round函数出现混乱情况
在实际项目中遇到一个问题,无法保留两位小数round(83.59999999999999)具体原理应该是底层运算二进制的问题可以利用这个方式解决:sprintf(“%.2f”,83.59999999999999); 就可以了原创 2021-01-19 15:37:24 · 785 阅读 · 0 评论 -
mysql中如何排序非纯数字的字段 结合php排序
背景:需求就是这样突然就降临了,没错这次就是要把一个非纯数字的字段进行排序,字段均如:tab_3,tab_8....这样的。我走了好多弯路,查了很多“古籍”。。。终于让我想到了解决方式,因此我还掌握了一门新招式,我才知道mysql居然也有字符截取,,,好了废话不多说了下面进入正题首先直接上代码逻辑:$arr = select text,substring(name,5,2) as new_name * from table_name;本来吧我想写的还没写完想直接后面再加个order by n.原创 2021-01-18 16:31:13 · 516 阅读 · 0 评论 -
多视频多图片多文件上传 如何使用formData实现多文件上传
今天心情不佳不多说了,直接上代码了1、HTML代码: // 声明file类型为multiple(可多选)<input id="uploadfiles" type="file" name="file" multiple/>以上html你可以自行优化样式2、js代码:// 获取文件,用FormData对象封装:var fd = new FormData();var length = $("#uploadfiles")[0].files.length;for (var原创 2021-01-04 16:57:37 · 253 阅读 · 0 评论 -
php删除文件 模糊删除文件
删除函数unlink(文件绝对路径)unlink(filename,context)filename:必需。规定要删除的文件。context:可选。规定文件句柄的环境。Context 是可修改流的行为的一套选项。一般先判断file_exists()文件是否存在1.没有释放变量,导致没法删除权限;unset($info);2.打开文件后,没有关闭指针;fclose($handle);3.磁盘文件不足,a.linux操作系统,修改为权限777;b.windows系统先给everyon..原创 2020-11-19 14:59:02 · 332 阅读 · 0 评论 -
css好看的加载动画
<div class="spinner" style="display:none;"> <div class="re1"></div> <div class="re2"></div> <div class="re3"></div> <div class="re4"></div> <div class="re5"></div>.原创 2020-11-19 10:59:58 · 409 阅读 · 3 评论 -
open_basedir 错误解决 open_basedir restriction in effect.
如果遇到open_basedir restriction in effect. 类似这样没有权限访问的问题 那就是open_basedir配置有问题,直接进入主题来说一下open_basedir可以在俩个地方配置 ①fastcgi.conf 文件的最后一行 fastcgi_param PHP_ADMIN_VALUE = "xxxxxxxx"; ②php.iniopen_basedir...原创 2020-11-12 15:17:02 · 691 阅读 · 0 评论 -
lnmp环境搭建及一系列问题总结 yii2框架迁移问题总结
文章背景:因为公司服务器要迁移所以需要在新的服务器上搭建新的环境和将原本用yii2开发的项目迁移到新服务器上,废话不多说先从搭建环境开始https://lnmp.org/install.html(安装lnmp环境详细文档我用的集成的这样快速方便)注意:尽量用php5.6以上7.2以下不然框架也会有很多不兼容没法使用的我用的是5.6其中遇到的问题:因为日常开发不用root权限所以我打算不将项目放到wwwroot下,然而就出现了诸多的问题1.如何修改默认的项目路径:方法一:可以安装lnmp前..原创 2020-11-10 16:53:46 · 238 阅读 · 0 评论 -
php执行外部程序 php如何执行sh脚本 php如何对接python
问题背景:有一天接到一个需求,领导那边已经给了一个python包是将音频转换成视频的包,我犯难了,因为只给了包而不是让我对接接口。。。懵了,懵的是不知道该怎么在php端调用这个python包(或者说是一个脚本)主要的需求就是前端来一个音频上传完事调用这个脚本然后把返回的http形式的mp4文件展示出来,,,,ok不废话了上代码注意:老规矩我所有代码因为签订保密协议所以只能给大家展示手写的基本逻辑就这样仅供参考前端代码我就不管了就和文件上传似的,感兴趣的下期我有空的话可以记录一下$data =.原创 2020-10-28 14:19:16 · 401 阅读 · 0 评论 -
php实现txt下载 文件下载
if(file_exists($file)){ // echo "当前目录中,文件".$file."存在"; header( "Content-Disposition: attachment; filename=".$time.".txt"); //告诉浏览器通过附件形式来处理文件 header('Content-Length: ' . filesize($file)); //下载文件大小 readfile($file);}else{ echo "当前目录中,文件.原创 2020-10-22 16:35:28 · 427 阅读 · 0 评论 -
php如何导出万级sql数据 导出mysql10万条数据
背景:php的执行时间是有限的,一般是30秒。就算是执行时间足够设置set_time_limit(0)但是经过我测试数据量超过1万的时候执行需要n久时间不说主要是必然会报502,然后想到了俩种解决方式方法一:分页excel导出(这个逻辑大家应该都能想到我这里也不主要介绍了)方法二:用shell脚本导出(我也算是今儿个第一次写脚本吧所以才屁颠屁颠的跑来记录一哈子,话不多说这就开始详细步骤)一:假设每天导出当天的数据内容则下面这一段就够用了(声明:此代码纯粹举例不含任何公司机密,大家也都是借鉴直...原创 2020-10-15 16:48:28 · 557 阅读 · 0 评论 -
phpExcel怎么用 操作实例来了
此实例是yii2框架调用phpExcel展示实例(yii2如何增加phpExcel类请看另一篇文章)/** * 批量导出数据 * @param $arr 从数据库查询出来,即要导出的数据 * $name excel表歌名 */ function expExcel($arr,$name){ //require_once 'PHPExcel.php'; Vendor('PHPExcel.PHPExcel'); .原创 2020-08-31 18:38:01 · 385 阅读 · 0 评论 -
php切换版本以后服务停止问题
项目场景:因为切换了php版本以后服务停止问题原因分析:因为用xshell还是可以连接的但是项目不能访问那就是另外俩个原因一是nginx宕掉了;二是php停掉了;后面起来后部分项目可以访问就根据报错原因找问题,下文中会详细记录思路和解决方式解决方案:首先解决nginx宕掉的问题切换到nginx/sbing目录下执行命令nginx -s reload 1可以通过ps -C nginx -o pid此命令查看是否成功解决php停掉的问题执行命令service php-fpm原创 2020-08-26 19:12:17 · 572 阅读 · 0 评论 -
html搜索框禁止历史自动提示
方法一:在不想使用缓存的input中添加 autocomplete="off":(推荐使用)<inputtype="text"name="date"value=""autocomplete="off"/> 方法二:如果整个表单元素都不想使用autocomplete功能的话,可以在form标签中添加 autocomplete="off":<formautocomplete="off"><inputtype="text"name="d...原创 2020-07-31 11:21:37 · 740 阅读 · 0 评论 -
安装yii2框架 用composer安装
1.首先要先安装composer,就一直next就行,啥也不用管,下载到all user会比较全局方便点如果还没有安装 Composer,你可以按getcomposer.org中的方法安装。在 Linux 和 Mac OS X 中可以运行如下命令:curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer在 Windows 中,你需要下载并运行Composer-Set...原创 2020-07-28 16:12:51 · 501 阅读 · 0 评论 -
用jquery计算这些年我们踩过的坑 jquery如何计算
在开发过程中有个余数余留问题所以不取整,惊讶的意外发现jquery的小数计算是存在问题的所以总结一下借鉴大佬的代码封装四个加减乘除的基本函数,可以直接调用从而可以得到正确的值这个是我项目中出现的简单的减法然后 295.53- 295所得的值所以就有了一下更为准确的计算方式1.除法//调用:accDiv(arg1,arg2)//返回值:arg1除以arg2的精确结果functio...原创 2019-10-24 11:45:11 · 230 阅读 · 0 评论 -
重启php-fpm 及重启nginx
1.重启nginxservice nginx restart2.重启redisredis-server /etc/redis.conf3.重启php-fpm先查看php-fpm的master进程号# ps aux|grep php-fpmroot 21891 0.0 0.0 112660 960 pts/3 R+ 16:18 0:00 gr...原创 2019-07-18 18:21:24 · 498 阅读 · 0 评论 -
yum安装php及nginx
环境安装流程及注意事php相关环境安装以及注意事项安装nginxyum install yum-priorities -y wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm rpm -ivh nginx-release-...原创 2019-07-15 17:23:57 · 597 阅读 · 0 评论 -
NODEJS卸载或安装出现Invalid drive错误
前言:因为电脑磁盘空间不够进行了磁盘合并,更改了驱动目录,今天折腾NODE,出了Invaliddrive错误。卸载也报这个错,搜了一下Invaliddrive解决方案方法:模拟一个假的驱动目录,欺骗电脑第一步进入运行输入subst E:%TEMP%(缺什么盘写什么盘,我缺E,我写E)第二步执行你想在这个盘下的操作(卸载安装啥的)第三步不需要时删除这个假盘:sub...原创 2019-06-10 11:19:19 · 4314 阅读 · 3 评论 -
iwebshop二次开发---邀请注册
在左侧添加“邀请注册列表”正在上传...取消地址:classes/menUcenter中准备:创建一个163邮箱 开启smtp 并创建一个秘钥 在项目后台完成邮箱设置并保存代码处:为了吸引更多的用户注册我们给iwebshop添加邀请用户功能-邮箱邀请效果展示:1、邮箱发送原创 2017-08-15 14:39:06 · 948 阅读 · 0 评论 -
使用telnet登录smtp服务发邮件
1、使用telnet连接smtp服务器2、发送一个helo或者ehlo指令3、验证用户(使用邮件名登陆)4、使用mail命令准备发送邮件5、使用rcpt命令指定对方邮箱地址6、使用data命令开始输入内容7、输入test或者hello world类似字样(即邮件内容)8、输入邮件内容结束标志.9、退出smtp服务器详细步骤 ①使用telnet 连接sm原创 2017-10-17 14:50:57 · 12604 阅读 · 0 评论 -
workerman实现直播
首先是在前台页面注:canvas是图形容器假设给定一个直播按钮 //开始直播 $("#start_live").click(function () { var live_ws = new WebSocket("ws://47.95.207.226:10010"); //获取容器 (视屏是由一针一针的图片组成 var canvas =原创 2017-12-18 16:06:49 · 2810 阅读 · 0 评论 -
PHP结合redis实现的高并发下----抢购、秒杀功能
抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用锁表来处理抢购,但是锁表漏洞是 假设一个用户出现问题程序就不能接着运行了 ,例如使用Redis。重点在于第二个问题模拟高并发现象可参考 http://blog.csdn.net/nuli88原创 2017-08-18 09:57:20 · 2929 阅读 · 0 评论 -
linux简单操作
linux下导入、导出一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1、导出数据和表结构:mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql?1/usr/local/mysql/bin/ mysqldump -uroot -p abc > a原创 2018-04-09 14:19:46 · 103 阅读 · 0 评论 -
linux下xunsearch的安装和使用以及简单的操作语句
官方文档:http://www.xunsearch.com/doc/php/guide/start.installation一、安装3.待命令运行结束后,如果没有出错中断,则表示顺利安装完成,然后就可以启动/重新启动 xunsearch 的后台服务,下面命令中的 $prefix 请务必替换为您的安装目录,而不是照抄。cd $prefix ; bin/xs-ctl原创 2018-04-19 10:24:27 · 1040 阅读 · 0 评论 -
html页面怎么用foreach htm怎么遍历展示数据
<?php foreach ($data as $k => $v): ?> <tr class="tron"> <td align="center"><?php echo $v['id']; ?></td> <td原创 2018-07-02 15:08:49 · 8071 阅读 · 0 评论 -
php接口返回xml格式
在头部加上 header("Content-type: application/xml"); 例子: $res = $this->arrayToXml($data,$amount['count'],$page_count,$page); header("Content-type: text/xml"); echo $res;//数组转XML public...原创 2018-08-06 11:11:12 · 6060 阅读 · 0 评论 -
php 怎么判断一个文件是否引入成功
require xxxxxx; $included_files = get_included_files(); foreach ($included_files as $filename) { echo "$filename\n"; }原创 2019-03-27 16:43:50 · 2005 阅读 · 0 评论 -
使用phpEmail 类实现导入并解析
首先下载PHPEXCEL 下载地址:https://github.com/PHPOffice/PHPExcelrequire $_SERVER['DOCUMENT_ROOT']."/addons/shop/core/web/sale/promotion/PHPExcel-1.8/Classes/PHPExcel.php";//引入PHPExcel加载文件 要绝对路径 $fi...原创 2019-03-28 14:34:42 · 261 阅读 · 0 评论 -
php结合jquery实现下载功能
1.首先是html页面<span id="download" style="cursor: pointer;"><i class="fa fa-plus"></i><span style="color: blue;">下载模板</span></span>2.然后是jquery进行点击事件跳转到相应的控制层,jquer...原创 2019-03-28 18:06:06 · 549 阅读 · 0 评论 -
敏感词过滤 php简单实现
敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。在实现敏感词过滤的算法中,我们必须要减少运算,而 DFA 在 DFA 算法中几乎没有什么计算,有的只是状态的转换。所以想更高效的进行敏感词的过滤,需要使用 DFA 算法。感兴趣的同学可以去学习一下但这里展示的是使用PHP实现简单的敏感词过滤,调用StringFiter类时,传入 $sorStr, 就可以将 ...原创 2019-04-26 17:05:23 · 1029 阅读 · 0 评论 -
php校验表单提交后的值是否为数字时发现的坑
1.php中自带的判断是否为整数的函数一般有 is_int() ,is_numeric()2.如果需要判断整数,可以使用 is_int()函数,以免发生一些字符串也当成是合法数字的情况,可是注意一般表单提交过来的都是字符串类型 比如: “100”;这样的3.使用is_numeric()函数,当判断 is_numeric("100ee3"); 猜猜返回的是true还是false !结果是true...原创 2019-04-26 17:06:08 · 531 阅读 · 0 评论 -
git操作基本流程代码
1.git init 把目录变成git可以管理的仓库,发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的。2.git add . / git add filename 提交到暂存区3.git commit -m "描述提交的desc" 提交到本地库中4.git push "提交到远程仓库“5.git pull "重远程仓库拉取更新本地库"...原创 2019-05-10 13:45:57 · 134 阅读 · 0 评论 -
beyond compare 过期解决方法
1.window+R打开管理2.输入regedit后回车,则就会打开注册表编辑器3.里面有一个cacaheId然后删掉,果断的删掉4.找到他的老巢(安装路径)然后删除BCUnrar.dll5.好了打开就可以用了...原创 2019-06-19 18:19:00 · 53043 阅读 · 14 评论