
PHP
文章平均质量分 62
分享平时用到的php技术
Json____
万物OOP | www.wwwoop.com
展开
-
波特云 集装箱和 海恒蓝 集装箱 自动化集装箱下单方案
背景: 这几天 遇到了一个客户 是做外贸的 需要大量多的集装箱,了解后 他们是需要在平台上 下单集装箱 才有可能预约到集装箱使用,所以公司每天都需要都需要派个人 盯着电脑来 下单集装箱。成功下单集装箱后,会通知到相对应的邮箱 消息提醒。整体来说 这两个网站是提供海外物流服务的平台,有需要做外贸的用户 可以在他们平台上下单集装箱 然后使用。波特云平台:为企业提供货物供应链产品,打造港口物流行业的单证电子化、通关透明化、协同全程化。波特云 网站:https://www.eportyun.com/原创 2023-12-31 17:32:43 · 2471 阅读 · 3 评论 -
WHmcs中的插件开发
技术QQ交流群:294088839。包含文件包含模板是由多个页面共享和使用的模板。它们位于子目录内。/includes/通用于所有页面head.tpl - 定义页面部分中包含的CSS和Javascript文件navbar.tpl - 控制主导航栏菜单项的输出sidebar.tpl - 控制边栏菜单项的输出按需要使用captcha.tpl - 用于原创 2018-03-14 10:07:01 · 1757 阅读 · 0 评论 -
必学PHP类库/常用PHP类库大全
本文档参考以下github资源的整理和其它网络收集 [JingwenTian]awesome-php [ziadoz]awesome-php 依赖管理( Dependency Management )用于依赖管理的包和框架 Composer/Packagist- 一个包和依赖管理器. Composer Installers- 一个多框架Compo...转载 2019-07-24 09:51:11 · 1933 阅读 · 0 评论 -
提高PHP性能的方法
提高PHP性能的方法下面的文字从Dustin Whittle的 Scaling PHP in the real world 摘抄而来。原文作于2013年,有些信息可能不是那么新了。 https://speakerdeck.com/dustinwhittle性能的提高,对于高并发访问量的应用来说,至关重要。本文主要是对上文提到的各种方法进行进一步的解释。Opcode Cach转载 2017-08-13 22:39:54 · 374 阅读 · 0 评论 -
分布式拒绝服务攻击 DDoS攻击
PHP交流群:294088839,Python交流群:652376983分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理...原创 2017-10-21 09:41:16 · 2093 阅读 · 0 评论 -
Yii基础学习6
技术QQ交流群:294088839一.响应 改变响应式状态码 Yii::$app->response->statusCode = 200; //获取头部信息 $headers = Yii::$app->response->headers; // 增加一个 Pragma 头,已存在的Pragma 头不会被覆盖。 $headers->add('Pragma'原创 2017-12-28 11:16:03 · 370 阅读 · 0 评论 -
PHPExcel 大数据的导出
PHPExcel 是一个php语言读取导出数据、导入生成Excel的类库,使用起来非常方便,但有时会遇到以些问题,比如导出的数据超时,内存溢出等。下面我们来说说这些问题和解决办法。PHPExcel 版本:@version 1.8.0, 2014-03-02能遇到这样的问题一般都是因为数据量大导致报错提示:严格的讲这个不是PHPExcel的错误,是PHP版本的问题,大于PHP5.6以后,“break”必须要在循环体内执行(for ,foreach, while, switch)此处无循环,解决办法原创 2017-12-05 09:48:55 · 14858 阅读 · 0 评论 -
PHP会话控制总结
一.会话跟踪的方式1.使用url将用户的信息状态传到另一面2.使用cookie将用户的信息状态,存放在客户端的计算机中3.使用session将用户的信息状态,存放在服务端的计算机中二.设置cookiebool setcookie('cookie的名字','cookie的值',cookie的存活时间一般默认为0,当浏览器关闭就会消失或者time()*70设置他存活的时间,'/'cook...原创 2017-06-05 20:38:46 · 762 阅读 · 1 评论 -
2017年PHP程序员未来路在何方
技术QQ交流群:294088839PHP 从诞生到现在已经有20多年历史,从Web时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js 、 GO 、 Python 不断地在挑战 PHP 的地位。这些技术的推动者非常热衷于唱衰 PHP , PHP 语言的未来在哪里?PHP 程序员当如何应对未来的变革?作为老牌的Web后端编程语言转载 2018-02-09 10:27:55 · 336 阅读 · 0 评论 -
PHP访问API使用xml格式传输数据
技术QQ交流群:294088839//将数据转换成 xmlfunction toXml($array){ $xml = ''; forEach($array as $k=>$v){ $xml.=''; } $xml.=''; return $xml;}$xml=toXml($arr);进行curl传原创 2017-12-15 16:44:26 · 472 阅读 · 0 评论 -
PHP递归方式删除缓存文件
技术QQ交流群:294088839private function _deleteDir($path){ $dh = opendir($path); while(($d = readdir($dh)) !== false){ if($d == '.' || $d == '..'){//如果为.或..原创 2017-10-27 11:02:50 · 339 阅读 · 0 评论 -
Smarty模板引擎三总结
一.Smarty模板引擎的继承继承带来了模板面向对象的概念(oop),它允许你定义一个或者多个基模板供子模板继承继承意味着子模板可覆盖所有或部分父模板中命名相同的块区域 继承树大小没有规定,只要你愿意你想搞多大都可以,但需要注意所有文件都必须在运行 时检查修改设置,更多的继承意味着更大的开销 子模板通过{extends}标签定义继承父模板,该定义应写在子模板的第一行 子模板原创 2017-06-18 01:46:05 · 641 阅读 · 0 评论 -
ThinkPHP框架总结五
一.字段映射当我们前端页面提交信息时input标签中的name名字起的跟我们数据表里的字段名不一致的时候可以使用这个来解决这个问题1.第一种方法 $_map先要在Model文件夹中创建一个相对应的模型类在类中声明一个受保护的属性里面写前端页面传过来的name名后面对应数据表中的字段名例:protected $_map = array( 'name' =>原创 2017-07-05 22:20:27 · 697 阅读 · 0 评论 -
Yii基础学习4
技术QQ交流群:294088839一.引用视图中的布局文件 一般公共文件都写在layouts文件中 beginPage() ?> 在布局的开始处调用 endPage() ?> 在布局的结尾处调用 head() ?> 在html页面中标签中调用 beginBody() ?> 在body标签的开始处调用 endBody() ?>原创 2017-12-27 17:17:24 · 382 阅读 · 0 评论 -
ThinkPHP框架总结二
一.控制器的定义一般来说,ThinkPHP的控制器是一个类文件,而操作则是控制器的一个公共方法,一般按照大驼峰的风格来命名控制器(类文件)声明首先要写一个命名空间(命名空间一般以模块名\所在的文件夹名组成)namespace Home\Controller然后要带导入类文件继承的父类(命名空间名\类文件名)use Think\Controller最后声明所使用的类继承导原创 2017-07-02 22:59:35 · 491 阅读 · 0 评论 -
Yii基础学习1
技术QQ交流群:294088839YII的安装 第一种方式 通过composer进行安装 通过cmd切换到网站根目录进行安装 composer global require "fxp/composer-asset-plugin:^1.3.1" 执行命令 composer create-project --prefer-dist yiisoft/yii2-app-bas原创 2017-12-26 14:51:48 · 396 阅读 · 0 评论 -
PHP开发API
作为最流行的服务端语言PHP(PHP: Hypertext Preprocessor),在开发API方面,是很简单且极具优势的这篇文章写给不太了解PHP开发API接口的开发者 PHP交流群:294088839Python交流群:652376983一、先简单回答两个问题1、PHP 可以开发客户端吗?答:正确的回答是,不适合,因为PHP是服务端脚本语言,负责 B/S或C/S 架...转载 2017-08-31 20:54:57 · 1486 阅读 · 1 评论 -
ThinkPHP框架总结四
一.查询方式where() 方法1.使用字符串作为查询条件例:$member->where("user_name='小白' and id=1")->select()2.使用数组进行查询使用数组查询缺点:如果是范围性查询,数组方式只能赋值,不能取值范围如果是或者(or/||)的关系,数组查询也做不到为了解决这个问题可以使用一个关键字: _logic 来定义这个原创 2017-07-04 23:05:30 · 431 阅读 · 0 评论 -
PHP通过循环来检测四维数组中的值是否存在数组中
技术QQ交流群:294088839如果存在了怎么样,如果不存在了又怎样foreach($arr as $k=>$v){ if(in_array($v['id'],$auth)){ $arr[$k]['status']=1; foreach($v['son'] as $key=>$val){原创 2017-11-07 17:28:17 · 690 阅读 · 0 评论 -
支付宝接口开发
<?php/** * 此代码基于 TP3.2框架开发写的 * 代码中参数配置有重复,参考时自行整理,让代码更加简洁 * 回调地址 异步处理,和同步处理,如果用户输入完支付密码立马关闭支付页面,地址没回调本网站,充值有可能会失败, * 输入完密码自行跳回本网站会成功。这个问题尚未解决,本人功力尚浅,如你解决办法 欢迎修改。 * 问题:先去支付宝支付,跳转回来以后给用户账号增加金额。...原创 2017-11-23 16:25:44 · 1604 阅读 · 0 评论 -
Yii基础学习7
技术QQ交流群:294088839 一.yII活动记录//根据models 来查询信息 $models = Test::find() ->where(['id' => 1]) ->orderBy('id') ->all(); print_r($models);原创 2017-12-28 16:34:45 · 423 阅读 · 0 评论 -
对串行化的理解
串行化(Serialization)是计算机科学中的一个概念,它是指将对象存储到介质(如文件、内存缓冲区等)中或是以二进制方式通过网络传输。之后可以通过反串行化从这些连续的字节(byte)数据重新构建一个与原始对象状态相同的对象,因此在特定情况下也可以说是得到一个副本,但并不是所有情况都这样。串行化有以下但不局限于这些优点:1.串行化是一种更好地使用类持久化的方法2转载 2017-06-25 21:49:06 · 706 阅读 · 2 评论 -
php归档格式:phar后缀文件详解(创建、使用、解包还原提取)
PHP交流群:294088839Python交流群:652376983优点: 可单个phar文件部署项目参考:https://segmentfault.com/a/1190000002166235缺点: 打包后,速度肯定比引入源代码慢了参考:http://blog.youkuaiyun.com/ugg/article/details/25335079...转载 2017-11-28 16:11:09 · 1476 阅读 · 2 评论 -
PHP系统命令函数
//PHP调用cmd参数//代码审计命令注入////PHP执行系统命令可以使用的函数$action=$_GET['cmd'];echo "";//查询ipconfig信息/*system()原型:string system (string command [, int return_var])system()函数很其它语言中的差不多,它执行给定的命令,输出和原创 2017-10-04 23:59:50 · 949 阅读 · 0 评论 -
PHP中PDO扩展库总结
一.PDO作用1.PDO(php data object)扩展类库为php访问数据库定义了轻量级的,一致性的接口2.PDO提供了一个数据库访问抽象层,无论你使用了什么样的数据库,都可以通过一致的函数执行查询和获取数据,大大简化了数据库的操作,并能够屏蔽不同数据库之间的差异使用pdo可以方便的进行跨数据库程序的开发,以及不同数据库之间的移植二.开启PDO扩展1.使用P原创 2017-06-13 00:13:51 · 1531 阅读 · 3 评论 -
PHP开发短信验证码,防止不停发送,有效期限制
基于TP3.2创建一个短信验证码记录表CREATE TABLE `smscode` ( `id` int(11) NOT NULL AUTO_INCREMENT, `phone` varchar(255) NOT NULL, `code` varchar(12) NOT NULL, `sendtime` int(11) NOT NULL DEFAULT '0',原创 2018-05-09 14:22:33 · 3710 阅读 · 0 评论 -
whmcs插件开发
QQ:870422471 支持 星外api 百度云api 云加速api 阿里云api开发等 基于Whmcs 各种插件原创 2018-03-23 11:42:13 · 1017 阅读 · 2 评论 -
基于tp3.2的发送短信验证码
技术QQ交流群:294088839 $("#but").on('click',function(){ var mobile= $("input[name='mobile']").val(); var username=$("input[name='username']").val(); if(mobile==''){原创 2018-01-26 16:27:24 · 1842 阅读 · 0 评论 -
无限级分类的简单实例
技术QQ交流群:294088839//模拟一个分类数组$area = array(array('id'=>1,'name'=>'安徽','parent'=>0),array('id'=>2,'name'=>'海淀','parent'=>7),array('id'=>3,'name'=>'濉溪县','parent'=>5),array('id'=>4,'name'=>'昌平转载 2017-12-05 10:02:20 · 595 阅读 · 0 评论 -
MVC总结
一.MVCMVC全名是Model View Controller,是模型(model)、视图(view)、控制器(controller)的缩写是一种软件架构模式,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑MVC的处理过程:1.用户向控制器发出请求2.控制器接收用户的请求,调用原创 2017-06-27 21:16:25 · 377 阅读 · 0 评论 -
Memcache缓存 总结
一.Memcache缓存概念:Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表他能够用来存储各种格式的数据,包括图像,视频,文件以及数据检索的结果集。简单的说就是将数据调用到内存中,然后从内存中存取,从而大大提高读取速度应用:Memcache缓存系统最主要的就是为了提高动态网页的应用,分担数据库检索的压力,对于网站流量比较大原创 2017-06-13 21:28:19 · 529 阅读 · 1 评论 -
PHP代码审计常用工具
1:测试环境wamp 安装2:PHP 编写工具EditPlu Notepad++ Zendstudio 103:代码审计工具Seay 代码审计工具4:代码审计平台安装DVWA-1.0.8ZVulDrill原创 2017-09-10 15:39:13 · 1717 阅读 · 1 评论 -
socket的概念总结
socket (计算机专业术语) 编辑网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形转载 2017-06-22 23:48:04 · 967 阅读 · 0 评论 -
php怎么接收json类型数据
技术QQ交流群:294088839PHP接收JSON格式的数据在API服务中,目前流行采用json形式来交互。给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据。接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-www.form-urlen原创 2018-01-26 18:42:48 · 891 阅读 · 0 评论 -
WHmcs开发插件
技术QQ交流群:294088839。介绍WHMCS完全支持多种语言,支持超过25种不同的语言。单词和短语在存储在lang管理和客户区域内的目录中的语言文件中定义。自定义任何语言字符串,推荐使用覆盖。添加一种语言WHMCS中的语言系统允许您创建您自己的其他语言翻译。我们建议先复制一个现有的语言文件。语言文件名应该是一个单原创 2018-03-14 10:18:50 · 1683 阅读 · 0 评论 -
生成一个64位的ASCII字符串
当调用创建接口时如果遇到了请求超时或服务器内部错误,用户可能会尝试重发请求,这时用户通过clientToken参数避免创建出比预期要多的资源,即保证请求的幂等性。幂等性基于clientToken,clientToken是一个长度不超过64位的ASCII字符串,通常放在query string里,如。如果用户使用同一个clientToken值调用创建接口,则服务端会返回相同的请求结果。因此用户在遇到错误进行重试的时候,可以通过提供相同的clientToken值,来确保只创建一个资源;如果用户提供了一个已经使用原创 2017-12-06 16:08:26 · 2546 阅读 · 0 评论 -
获取IP地址方法
/** * 获取客户端IP地址 * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字 * @return mixed */function get_client_ip($type = 0) { $type = $type ? 1 : 0; static $ip = NULL; if (原创 2017-10-10 09:54:12 · 626 阅读 · 0 评论 -
linux命令总结
//文件文件夹ls 目录列表ls -l 显示详细格式的文件列表,不包含隐藏文件ls -al 显示详细格式的文件列表,包含隐藏文件ls -Al 显示详细格式的文件列表,包含隐藏文件,但不包括"."、".."cd dirname 切换到目录dirnamecd / 回到根目录cd ~ 回到家目录cd .. 回到上级目录pwd 显示当前目录chmod [-R原创 2017-06-14 22:00:46 · 307 阅读 · 0 评论 -
面向对象的抽象、接口和多态总结
一.抽象1.抽象方法没有方法体,也没有花括号的方法,即为抽象方法抽象方法的写法:public|protected abstract function 方法名();2.抽象类使用关键字abstract修饰的类为抽象类写法:abstract class 类名{}含有抽象方法的类肯定是抽象类,但不是所有的抽象类中必须包含抽象方法抽象类不能被实例化若想使用抽象类,就必须原创 2017-06-07 22:54:12 · 414 阅读 · 0 评论 -
面向对象的编程思想总结
一.面向过程与面向对象1.面向过程(Procedure Oriented Programming):以事件为中心,分析出解决问题的步骤然后用函数将这些步骤一步一步实现,使用的时候依次调用2.面向对象编程(Object Oriented Programming):以事物为中心,万象皆对象,由实体引发事件,更贴近现实世界,更易于扩展1)面向对象的概念:(oop)OOP(Object-Or...原创 2017-06-05 22:37:41 · 523 阅读 · 0 评论