
php
erjian666
菜鸟而已
展开
-
php环境变量排错
之前的代码跑mqtt协议。后来出了问题,new mqtt类 没有这个类。然后测试 new redis 也不行,换个思路 ,发现本地框架redis是没问题的。命令行执行 有问题,发现是命令行的 环境变量php 跟框架执行的 不是一个版本。经过测试发现,命令行为5.4.。 删除5.4,把框架的环境变量从新赋值。 再看 版本为7.2. 执行 new mqtt 正常。...原创 2020-11-23 15:35:18 · 161 阅读 · 0 评论 -
api加密,防止无限调用
思路:验证接口时间,验证接口加密方法:验证时间忽略,计算当前时间与参数即可。接口加密,所有参数按照a-z排序,ksort排序,去掉所有值空的参数。再次拼接成字符串,添加一个盐,md5加密即可。//验证时间if(time()-$_REQUEST['timestamp']>30){ JSOND('-1','overtime');}//验证sign$arr...原创 2020-04-22 11:24:28 · 488 阅读 · 0 评论 -
三维数组追加值
$class = DS('publics.get_info','','linkage','keyid=3407','','','linkageid'); print_r($class); foreach($class as $key => $val){ //$k = 'banner_'.$val['linkageid']; $...原创 2020-03-16 16:54:12 · 791 阅读 · 0 评论 -
php 二维数组按照某一列排序
//二维数组排序function arraySort($array, $keys, $sort = SORT_DESC) { $keysValue = []; foreach ($array as $k => $v) { $keysValue[$k] = $v[$keys]; } array_multisort($keysValue, $s...原创 2020-03-07 19:52:01 · 519 阅读 · 0 评论 -
windows 服务器设计定时任务
执行 bat 文件;bat 文件内容:D:\wamp\bin\php\php5.5.12\php.exe -f D:\wamp\www\push.phpphp 程序在 d wamp 下面 通过 -f 执行php文件bat 文件执行php 文件;php 文件使用 file_get_contents 执行 业务文件即可!!!!定时任务百度搜索,通过任务管理器设置。...原创 2019-12-31 14:40:45 · 126 阅读 · 0 评论 -
统计二维数组中某个值出现的次数
$x=array( array('a'=>1 ,'b'=>3 ), array('a'=>1 ,'b'=>4 ), array('a'=>2 ,'b'=>4 ), array('a'=>2 ,'b'=>4 ), array('a'=>2 ,'b'=>4 ),);$resu...原创 2019-12-24 15:02:22 · 2552 阅读 · 0 评论 -
php结合redis实现高并发下的抢购、秒杀功能
抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。重点在于第二个问题常规写法:查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就翻译 2017-02-28 08:58:57 · 1807 阅读 · 0 评论 -
php中的处理字符串的函数
addcslashes — 为字符串里面的部分字符添加反斜线转义字符addslashes — 用指定的方式对字符串里面的字符进行转义bin2hex — 将二进制数据转换成十六进制表示chop — rtrim() 的别名函数chr — 返回一个字符的ASCII码chunk_split — 按一定的字符长度将字符串分割成小块convert_cyr_string — 将斯拉夫语字转载 2016-10-10 14:47:49 · 397 阅读 · 0 评论 -
PHP简单工厂模式、工厂方法模式和抽象工厂模式比较
PHP工厂模式概念:工厂模式是一种类,它具有为您创建对象的某些方法。您可以使用工厂类创建对象,而不直接使用 new。这样,如果您想要更改所创建的对象类型,只需更改该工厂即可。使用该工厂的所有代码会自动更改。根据抽象程度不同,PHP工厂模式分为:简单工厂模式、工厂方法模式和抽象工厂模式简单工厂模式:/** *简单工厂模式与工厂方法模式比较。 *简单工厂又叫静态工厂方法模式,这转载 2017-02-15 21:20:02 · 363 阅读 · 0 评论 -
PHP常用魔术方法总结
常用的魔术方法有:__Tostring () __Call() __autoLoad() __ clone() __GET() __SET() __isset() __unset() 1.__Tostring() 用于定义输出对象引用时调用 常用于打印一些对象的信息必须有返回值eg:有一个persion类Persion per =new persion()E转载 2017-02-15 21:21:27 · 296 阅读 · 0 评论 -
图片上传 预览 已经无刷新上传
<input type="file" name="image[0]" id="doc" onchange="javascript:setImagePreview();"> <div class="page_one_imgin" id="localImag"&a原创 2018-05-23 15:46:04 · 428 阅读 · 0 评论 -
PHPcmsV9 模型字段添加单文件上传功能
无图无真相:研究原因:后台有“多文件上传”功能,但是对于有些情况,我们只需要上传一个文件,而使用多文件上传功能上传一个文件,而调用时调用一个文件URL太麻烦了。所以我就自己动手,参考其他字段类型的网站,研究出来了单文件上传功能。V9支持编码:UTF8编码、GB2312编码使用说明:1、打开phpcms\modules\content\fields\fields.inc.php文件,在“'d...转载 2019-09-09 14:32:57 · 328 阅读 · 0 评论 -
PHP命名空间(Namespace)的使用详解
对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结。命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀。例:项目中有两个模块:article和message board,它们各自有一个处理用户留言的类Comment。之后我可能想要增加对所有转载 2017-01-15 20:42:38 · 361 阅读 · 0 评论 -
PHP 单例模式解析和实战
一、什么是单例模式?1、含义 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例。它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用。2、单例模式的三个要点:(1). 需要一个保存类的唯一实例的静态成员变量:[php] view plain copy print?privat转载 2017-01-13 18:44:07 · 399 阅读 · 0 评论 -
PHP实现各种经典算法
PHP实现各种经典算法//-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ( $low $mid = intval(($low+$hi原创 2017-01-09 14:50:05 · 1358 阅读 · 0 评论 -
memcache 缓存中查询历史记录
//140430199606142815//14018119940318201x$id=$_GET['id'];$mem=new Memcache();$mem->connect('127.0.0.1',11211);//$mem->flush();die;$url="http://apis.juhe.cn/idcard/index?key=41e087dfb4c43078a92d68原创 2016-10-26 20:56:26 · 926 阅读 · 0 评论 -
yii框架基本增删改查分页操作
<?phpnamespace frontend\controllers;use Yii;use yii\base\InvalidParamException;use yii\web\BadRequestHttpException;use yii\db\Query;use yii\web\Controller;use yii\filters\VerbFilter;use yii\f原创 2016-10-31 11:48:40 · 418 阅读 · 0 评论 -
jQuery中的批量删除以及即点即改原理及实现
即点即改关键在于取到父节点的id值 来根据id去修改示例:这是一个基本的循环的表格input type="button" value="批量删除" class="ui_input_btn01" id="dels" /> tr> th width="30">input type="checkbox" id="all" /> th> th>位置th> th>原创 2016-11-11 20:50:26 · 2476 阅读 · 0 评论 -
一些基本的关于数据库的sql语句
在MySQL数据库修改字段名方法:1、语句:alter table 表名 change 字段名 字段名 char(10) not null。2、其中char(10) not null是你字段的create_definition。创建表:create table 表名(id int auto_increment primary key,name varchar(50) not nu原创 2016-11-28 21:10:45 · 276 阅读 · 0 评论 -
面向对象三大特性五大原则 + 低耦合高内聚
面向对象三大特性五大原则 + 低耦合高内聚面向对象的三大特性是"封装、"多态"、"继承",五大原则是"单一职责原则"、"开放封闭原则"、"里氏替换原则"、"依赖倒置原则"、"接口分离原则"。什么是面向对象面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系转载 2016-11-01 14:23:47 · 557 阅读 · 0 评论 -
PHP $_SERVER详解
$_SERVER['HTTP_ACCEPT_LANGUAGE']//浏览器语言 $_SERVER['REMOTE_ADDR'] //当前用户 IP 。 $_SERVER['REMOTE_HOST'] //当前用户主机名 $_SERVER['REQUEST_URI'] //URL$_SERVER['REMOTE_PORT'] //端口。 $_SERVER['SERVER_NAME转载 2016-12-01 10:28:48 · 303 阅读 · 0 评论 -
PHP编码规范
一、文件格式1. 对于只含有 php 代码的文件,我们将在文件结尾处忽略掉 "?>" 。这是为了防止多余的空格或者其它字符影响到代码。例如:$foo = 'foo';2. 缩进应该能够反映出代码的逻辑结果,尽量使用四个空格,禁止使用制表符TAB,因为这样能够保证有跨客户端编程器软件的灵活性。例如:if (1 == $x) { $indented_code =转载 2016-12-03 08:47:57 · 368 阅读 · 0 评论 -
PHP开发web应用安全总结
XSS跨站脚本概念:恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。 危害:盗取用户COOKIE信息。跳转到钓鱼网站。 操作受害者的浏览器,查看受害者网页浏览信息等。 蠕虫攻击。描述:反射型跨站。GET或POST内容未过滤,可以提交JS以及HTML等恶意代码。 代码:[p转载 2016-11-22 18:46:46 · 2842 阅读 · 0 评论 -
Laravel框架数据库CURD操作、连贯操作总结
这篇文章主要介绍了Laravel框架数据库CURD操作、连贯操作、链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下一、Selects检索表中的所有行复制代码 代码如下:$users = DB::table('users')->get();foreach ($users as $user){var_dump($user->name);}原创 2016-12-22 18:51:49 · 493 阅读 · 0 评论 -
Redis与Memcached的区别
如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。2 Redis支持数据的备份,即master-slave模式的数据备份。3 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。在Redis中,并不是所有的数据都一直转载 2016-12-19 13:39:51 · 266 阅读 · 0 评论 -
PHP搭建自己的MVC框架9 配置加载类
框架中在core 目录下新建config目录 分别是database 和 route 如下图所示:同时在lib 建conf 类文件代码如下:<?phpnamespace core\lib;class conf{ static public $conf = array(); static public function get($name,$fil原创 2016-12-27 09:46:55 · 470 阅读 · 0 评论 -
Memcache基础教程
Memcache是什么Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。Memcache官方网站:http转载 2016-10-15 11:40:26 · 243 阅读 · 0 评论