
PHP
大事龙
这个作者很懒,什么都没留下…
展开
-
PHP修改PHP.ini上传大文件的解决办法
此解决办法来自网络,尚未测试,待有需要的时候进行测试并修改此处打开php.ini,首先找到file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时原创 2015-12-29 11:55:14 · 2772 阅读 · 0 评论 -
通过 yar 初识RPC
laruence/yar: Light, concurrent RPC framework for PHP & C鸟哥的轻量级可支持并发的 rpc 框架,基于此初识 RPC 的工作原理,及其作用…编译略过,直接上代码:server.php<?phpclass Test{ public function Hello() { return 'Hello world原创 2017-07-26 17:34:11 · 1404 阅读 · 0 评论 -
PHP 基本原则
单一职责:一个类,只需要做好一件事情开放封闭:一个类,应该是可扩展的,而不可修改的依赖倒置:一个类,不应该强依赖另外一个类,每个类对于另外一个类都是可替换的配置化:尽可能的使用配置,而不是硬编码面向接口编程:只需要关心接口,而不需要关心实现原创 2017-08-07 13:36:46 · 375 阅读 · 0 评论 -
PHP 设计模式之策略模式
典型的应用场景:当男性用户访问网站上显示男性相关的类目和广告,当女性用户访问网站时显示女性相关的类目和广告,或默认访问时显示指定相关的类目和广告<?phpinterface UserStrategy{ function showAd(); function showCategory();}class FemaleStrategy implements UserStrategy{原创 2017-08-07 13:39:22 · 346 阅读 · 0 评论 -
PHP 设计模式之装饰器模式
装饰器模式,使得在一个类不能完全满足需求时对其进行一些特定的自定义处理,而无需要新创建一个类<?php// 可以动态的添加修改类的功能class Canvas{ public function init() { echo "init"; } public function rect($top, $right, $bottom, $left) {原创 2017-08-07 13:41:01 · 387 阅读 · 0 评论 -
PHP 设计模式之迭代器模式
<?php// 在不需要了解内部实现的前提条件下,可以遍历一个聚合对象的内部元素// 相比于传统的编程模式,迭代器模式可以隐藏遍历元素所需的操作class AllUser implements Iterator{ private $ids; private $index; public function __construct() { $this-原创 2017-08-07 13:41:52 · 347 阅读 · 0 评论 -
PHP 设计模式之数据对象映射模式
<?php// 数据对象映射模式class User{ public $id; public $name; public $mobile; public $regtime; private $dataFile; public function __construct($id) { $this->dataFile = "user原创 2017-08-07 13:42:45 · 465 阅读 · 0 评论 -
PHP 设计模式之原型模式
<?php// 1.与工厂模式类似,都是用来创建对象的// 2.与工厂模式实现不同,原型模式是先创建好原型对象,然后通过 clone 原型对象来创建新的对象的。这样就避免了类创建时重复的初始化操作// 3.原型模式适用于大对象的创建,每创建一个大对象需要很大的开销,如果每次 new 就会消耗很大,原型模式仅需要内存拷贝即可class Canvas{ public function i原创 2017-08-07 13:43:18 · 380 阅读 · 0 评论 -
PHP 设计模式之代理模式
<?php// 在客户端与实体之间建立 一个代理对象(proxy),客户端对实体进行操作全部委托给代理对照,隐藏实体的具体实现细节// Proxy 还可以与业务代码分离,部署到另外的服务器。业务代码中通过 RPC 来委派任务//典型的应用场景:MYSQL 的主从读取分离interface IUserProxy{ public function getUserName(); pu原创 2017-08-07 13:43:51 · 435 阅读 · 0 评论 -
PHP运行环境之IIS FastCGI 进程意外退出解决办法
本机做了系统,结果之前装好的APACHE环境什么的都没了,不想费事了,这次直接使用WIN8自带的IIS功能了,安装完毕后提示FastCGI 进程意外退出解决办法,这是由于某些加载库加载失败的原因,这里提供了两种解决办法。一、设置环境变量设置PHP所在目录的环境变量,右键计算机-》原创 2015-12-30 09:33:40 · 18500 阅读 · 2 评论 -
动手开发一个简易的 PHP for Git Server 第二章
router.phpclass Router{ public $patterns = []; public function get($pattern, $callback) { $this->patterns[] = ['GET', $pattern, $callback]; } public function post($pattern, $原创 2017-09-11 17:53:39 · 492 阅读 · 0 评论 -
动手开发一个简易的 PHP for Git Server 第三章
app.phpclass App{ public $gitRoot; public function init() { echo Git::init($_POST['repo_name']); } public function getInfoRefs() { $service = trim($_GET['service'原创 2017-09-11 17:54:17 · 508 阅读 · 0 评论 -
动手开发一个简易的 PHP for Git Server 第四章
git.phpclass Git{ public static function init($name) { $cmd = "git init --bare {$name}.git"; return self::procExec($cmd, $input); } public static function getInfoRefs($serv原创 2017-09-11 17:55:05 · 663 阅读 · 0 评论 -
动手开发一个简易的 PHP for Git Server 第一章
事情的前因后果,这里不再讲述,直接切入主题进行项目开发,谨以此献给喜欢研究 GIT 的小伙伴项目结构:+ router.php // 路由文件+ app.php // 应用文件+ git.php // Git 操作核心文件+ index.php // 入口文件接下来,将用倒叙的方式,对 git server 进行展开,首先,看一下 index.php$router = new Router;原创 2017-09-11 17:51:59 · 558 阅读 · 0 评论 -
依赖注入的几种形式及场景
1、依赖的自动注入 只需要在需要的位置注入你需要的依赖,运行容器时,会自动解析依赖(包括子依赖)2、依赖的单例注入 比如 WEB 框架中 的 Request 依赖,需要跟踪整个路由的响应周期,这就需要保持全局的单例依赖3、依赖的契约注入 比如我们依赖 Storage,前期可能使用 FileStorage ,后期发现性能瓶颈需要使用 RedisStorage , 这时候就可以使用 St转载 2017-09-30 18:53:21 · 3584 阅读 · 0 评论 -
编译php7.0.17报错提示 undefined reference to `libiconv_open'
配置./configure –prefix=/usr/local/php7错误详情make/opt/src/php-7.0.17/ext/iconv/iconv.c:755: undefined reference to `libiconv_open'/opt/src/php-7.0.17/ext/iconv/iconv.c:779: undefined reference to `libicon原创 2017-04-10 11:14:17 · 2464 阅读 · 1 评论 -
The file or directory to be published does not exist: /data/vendor/bower/jquery/dist
Exception 'yii\base\InvalidParamException' with message 'The file or directory to be published does not exist: /data/vendor/bower/jquery/dist' 修改 yii2/base/Application.php 文件中Yii::setAlias('@bower', $t原创 2017-02-04 09:34:45 · 2457 阅读 · 0 评论 -
PHP 给页面内容中的所有图片添加特定链接
使用正则方法添加链接$data = preg_replace('/(<img[^>]+srcs*=s*"?([^>"s]+)"?[^>]*>)/im','<a href="javascript:window.js2java.webViewIma原创 2015-12-29 11:56:17 · 2766 阅读 · 0 评论 -
PHP 常用函数及其它功能
以下以 $file 为指定的某个文件1、判断文件是否存在if(file_exists($file)){echo "这个文件存在";}原创 2015-12-29 11:56:30 · 1751 阅读 · 0 评论 -
PHP 获取页面地址参数详解整理
#测试网址: http://localhost/blog/testurl.php?id=5//获取域名或主机地址echo $_SERVER['HTTP_HOST']."<br>"; #localhost//获取网页地址echo $_SERVER['PHP_SELF']原创 2015-12-29 11:56:51 · 2490 阅读 · 0 评论 -
使用URL在线语音合成
最近一直在做手机的项目,用到了语音合成与识别的功能,就找了几个网址做了分析,这里仅仅实现了内容的合成,并不包括语音识别。首先看一下谷歌的语音合成地址:http://translate.google.cn/translate_tts?ie=UTF-8&q=这里为语音内容,最原创 2015-12-29 11:57:17 · 10540 阅读 · 0 评论 -
PHP获取浏览器版本号
更多时候,讨厌的ie让人生气,因些会有一些看不惯IE的人站出来,告诉用户们,赶快升级你们的IE或换个浏览器吧!!!直接看PHP是如何获取浏览器版本的//分析返回用户网页浏览器名称,返回的数组第一个为浏览器名称,第二个是版本号。function getBrowser() {$sys原创 2015-12-29 11:58:15 · 2894 阅读 · 0 评论 -
让你的PHP也能执行JS并获得JS函数的返回值
关于这个功能,我找了很久了,是因为在做某个功能接口时,由于对方在请求数据前对请求的参数进行了加密,导致了无法通过程序模拟提交数据,因此需要想办法提前处理这个参数然后再提交。 下面直接看实现过程:$jsData = file_get_contents("x.js");$oScri原创 2015-12-29 11:59:51 · 22272 阅读 · 0 评论 -
同步 GIT@OSC 实现MARKDOWN文件发布或更新到优快云博客中
还记得前面发过一篇文章,写的是关于从GITBLOG迁移博客内容到优快云博客的文章传送门,这篇文章也是基于此写的相信很多同学都有过这样的历程,自己辛辛苦苦写的博客,因为域名空间或等等各种原因丢失了的情况,也相信有很多小伙伴保存着自己的文件在 GITHUB 或 GIT@OSC上,但查看内容却是无比恼火的一件事,因此就有了这篇将GIT上的内容同步更新到优快云博客上这里主要是用到了 GIT@OSC 的原创 2015-12-29 23:41:22 · 1876 阅读 · 0 评论 -
PHP json_decode 对 JSON 格式的字符串进行编码并获取对应的值
关于PHP中对JSON 格式的字符串进行编码并解析,同时可使用正则来获取内容,看示例:字符串:{"resp": {"userid": 0, "ret": 0, "subfile_list": [{"gcid": "78FDC87F885EBF1923A5382436419872C原创 2015-12-30 09:33:36 · 4374 阅读 · 0 评论 -
PHP 在源码中实现换行使得页面源码更精致美观
常量 : PHP_EOL 换行实例原创 2015-12-30 09:34:28 · 11299 阅读 · 0 评论 -
PHP通过计算经纬度获取附近的数据信息
计算某个经纬度的周围某段距离的正方形的四个点原创 2015-12-30 09:34:03 · 7102 阅读 · 0 评论 -
PHP 做图片锐化处理
使用PHP做图像锐化处理原创 2015-12-29 11:55:42 · 2519 阅读 · 0 评论 -
PHP 实现移除数组中项目为空的元素或为某值的元素
在实现移除数组中项目为空的元素或为某值的元素时用到了两个函数 array_filter、create_function先看一个实例:$array = Array ( [0] => 1 ,[1] => 2, [2] => 3, [3] => 4,[4] =&原创 2015-12-29 11:55:34 · 8863 阅读 · 0 评论 -
centos 下的 PHP 的编译过程
PHP 的编译过程环境vmware 虚拟机 wdlinux 系统镜像 php7.0.2 源码过程1、选择 wdlinux 是因为在本地虚拟机部署测试,使用这个镜像的话体积小,部署简单,基本的运行环境已经自带,装完系统后程序就可以正常跑起来 2、由于系统自带的PHP版本较低,这里选择手动升级 PHP 版本 3、这里的目录结构(仅供参考,可自行选择) 将php7.0.2压缩包放置到 /us原创 2016-01-21 11:57:16 · 4057 阅读 · 0 评论 -
PHP_SCREW 加密
安装 下载地址: http://sourceforge.net/projects/php-screw/编译修改 php_screw.h 中 PM9SCREW 为 自定义字符串,如 DASHILONG 并修改长度为 9 + 2 = 11即,修改#define PM9SCREW "\tPM9SCREW\t"#define PM9SCREW_LEN 10为#define PM转载 2017-10-10 10:44:08 · 1369 阅读 · 0 评论