显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

php开发lamp

《西安--木木》-经历丰富了生活。 架构师QQ群: 246695517

 
 
 
 
 
 

陕西省 西安市

 发消息  写留言

 
职    业 高级软件工程师
专长技能专注软件架构、框架研究、深入OOP
兴趣爱好: 软件,看书,旅游,文学,上网,摄影,艺术,音乐
喜欢运动: 登山,旅行
QQ1211884772
E-Mail 1211884772@qq.com
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 

热门日志

 
 
数据列表加载中...
 
 
 
 
 

网易新闻资讯

 
 
 
 
新闻标题 
列表加载中...
 
 
 
 
 

天气

 
 
模块内容加载中...
 
 
 
 
 
 
 
圈子列表加载中...
 
 
 
 
 

精彩摄影作品

 
 
相片列表加载中...
 
 
 
 
 
 
 
 

[置顶] gdsh--app后台管理系统v1.0

2016-2-28 23:19:23 阅读263 评论0 282016/02 Feb28

php软件架构群1:

功能简介:

1、会员的分组管理

2、v1.0主要是简单功能的实现,其他功能会在后期不断加入

3、本系统支持phone端、pad端、pc端,自适应大小

4、此系统是为app后端开发的后台管理系统

5、后台体验优化

(ajax提交、删除警告提示框、表单validator,v1.0版本分页不做ajax提交)

6、图像上传JavaScript开发本地显示图片(服务端php处理)  支持(IE7+)Chrome 47+ firefox 43+   其他浏览器暂没测试

7、此系统支持IE9+,Chrome 47.0.2526.111+ firefox 43.0.4+ 其他浏览器暂没测试

8、php分页类、php文件上传类

即将增加的功能:

<2、增加图片管理功能

<3、增加文件管理功能

(^_^)  人无完人,因此此系统在不断完善中、、、

托管地址:

https://git.oschina.net/mumu-wangwei/GDSH

已增加图像上传

作者  | 2016-2-28 23:19:23 | 阅读(263) |评论(0) | 阅读全文>>

yii研发--深度分析yii2的原理

2017-6-22 17:38:20 阅读31 评论0 222017/06 June22

1,yii2的整体架构思想

2,yii2运行原理

作者  | 2017-6-22 17:38:20 | 阅读(31) |评论(0) | 阅读全文>>

apache设置--禁止http访问某些目录设置(转)

2017-6-16 9:32:54 阅读32 评论0 162017/06 June16

在Apache中配置禁止目录访问,即禁止游览列出的目录/文件列表的方法

访问网站目录时Apache默认配置为可列出目录/文件列表,即当你访问http://localhost时会列出相关的目录和文件列表,我们可以通过修改Apache配置文件httpd.conf来实现禁止列出目录/文件列表,方法如下

【apache配置禁止访问】

1. 禁止访问某些文件/目录

增加Files选项来控制,比如要不允许访问 .inc 扩展名的文件,保护php类库:

<Files ~ ".inc$">

Order allow,deny

Deny from all

</Files>

禁止访问某些指定的目录:(可以用 <DirectoryMatch>   来进行正则匹配)

<Directory ~ "^/var/www/(.+/)*[0-9]{3}">

Order allow,deny

Deny from all

</Directory>

通过文件匹配来进行禁止,比如禁止所有针对图片的访问:

<FilesMatch .(?i:gif|jpe?g|png)$>

Order allow,deny

Deny from all

</FilesMatch>

作者  | 2017-6-16 9:32:54 | 阅读(32) |评论(0) | 阅读全文>>

php生成二维码

2017-6-8 15:42:31 阅读32 评论0 82017/06 June8

生成本文地址二维码!!!

1,引入php QRcode encoder 包中

phpqrcode.php文件

public function actionCreateCode()

{

$url = base64_decode($_GET['url']);

header('Content-Type: image/png');

ob_clean();

$level = 'L';//容错级别

$size = 4;//生成图片大小

QRcode::png($url, false, $level, $size);

}

作者  | 2017-6-8 15:42:31 | 阅读(32) |评论(0) | 阅读全文>>

php基础--常用文件类型

2017-6-5 9:50:21 阅读32 评论0 52017/06 June5

types {

text/html html htm shtml;

text/css css;

text/xml xml;

image/gif gif;

image/jpeg jpeg jpg;

application/x-javascript js;

application/atom+xml atom;

application/rss+xml rss;

text/mathml mml;

text/plain txt;

text/vnd.sun.j2me.app-descriptor jad;

text/vnd.wap.wml wml;

text/x-component htc;

image/png png;

image/tiff tif tiff;

image/vnd.wap.wbmp wbmp;

image/x-icon ico;

image/x-jng jng;

image/x-ms-bmp bmp;

作者  | 2017-6-5 9:50:21 | 阅读(32) |评论(0) | 阅读全文>>

php基础--密码强度判断

2017-5-4 10:46:25 阅读36 评论0 42017/05 May4

原理:正则表达式

/((^[0-9]{6,})|(^[a-z]{6,})|(^[A-Z]{6,}))$/ 弱密码

/((^[0-9,a-z]{6,})|(^[0-9,A-Z]{6,})|(^[a-z,A-Z]{6,}))$/  中密码

/^[\x21-\x7e,A-Za-z0-9]{6,}/   强密码

/**

* 检测密码强度

* @param string $pw 密码

* @return int

*/

function _checkPwLevel($pw){

if(empty($pw)){

return 0;

}

$pattern['weak'] = '/((^[0-9]{6,})|(^[a-z]{6,})|(^[A-Z]{6,}))$/';

$pattern['middle'] = '/((^[0-9,a-z]{6,})|(^[0-9,A-Z]{6,})|(^[a-z,A-Z]{6,}))$/';

$pattern['strong'] = '/^[\x21-\x7e,A-Za-z0-9]{6,}/';

$key ='';

foreach($pattern as $k=>$v){

$res = preg_match($v,$pw);

作者  | 2017-5-4 10:46:25 | 阅读(36) |评论(0) | 阅读全文>>

延时环形任务执行(基于redis)

2017-4-9 23:59:40 阅读40 评论0 92017/04 Apr9

延时环形队列任务执行(基于redis)

<?php

/**

* Created by PhpStorm.

* User: lock

* Date: 2016/11/27

* Time: 22:25

*/

class timeQueue

{

private $redis;

private $task = array();

private $key;

/**

* timeQueue constructor.

*/

public function __construct(){

$conn = new Redis();

$conn->connect('127.0.0.1', 6379);

$conn->auth('123456');

$this->redis = $conn;

}

/**

* 添加一个任务:任务名,什么时候执行,参数array

* @param $name

* @param $args

* @param $time

作者  | 2017-4-9 23:59:40 | 阅读(40) |评论(0) | 阅读全文>>

Yii2.0 rules验证规则

2017-4-5 11:49:32 阅读21 评论0 52017/04 Apr5

required : 必须值验证属性

[['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequiredValidator 的别名, 确保了特性不为空.

email : 邮箱验证

['email', 'email']; #说明:CEmailValidator的别名,确保了特性的值是一个有效的电邮地址.

match : 正则验证

[['字段名'],match,'pattern'=>'正则表达式','message'=>'提示信息']; [['字段名'],match,'not'=>ture,'pattern'=>'正则表达式','message'=>'提示信息']; /*正则取反*/ #说明:CRegularExpressionValidator 的别名, 确保了特性匹配一个正则表达式.

url : 网址

['website', 'url', 'defaultScheme' => 'http']; #说明:CUrlValidator 的别名, 确保了特性是一个有效的路径.

captcha : 验证码

['verificationCode', 'captcha']; #说明:CCaptchaValidator 的别名,确保了特性的值等于 CAPTCHA 显示出来的验证码.

safe : 安全

作者  | 2017-4-5 11:49:32 | 阅读(21) |评论(0) | 阅读全文>>

windows下redis下载安装

2017-3-21 10:58:07 阅读25 评论0 212017/03 Mar21

1、win 下安装redis

Current Version: 3.0.503 (June 28, 2016)1. Download the redis-latest.zip native 64bit Windows port of redisde >wget https://github.com/ServiceStack/redis-windows/raw/master/downloads/redis-latest.zip

de>2. Extract de >redis64-latest.zipde> in any folder, e.g. in de >c:\redisde>3. Run the de >redis-server.exede> using the local configurationde >cd c:\redis

redis-server.exe redis.windows.conf

de>4. Run de >redis-cli.exede> to connect to your redis instancede >cd c:\redis

作者  | 2017-3-21 10:58:07 | 阅读(25) |评论(0) | 阅读全文>>

php简单工厂模式

2017-3-13 20:09:56 阅读33 评论0 132017/03 Mar13

<?php

/**

* 工厂模式

*/

/**

定义:简单工厂模式,定义一个工厂类,它根据参数的不同返回不同类的实例,

被创建的实例通常具有共同的父类,简单工厂中用于创建实例的方法是静态的,

属性:工厂模式属于类创建型模式。

*/

abstract class Product{

protected $data=array();

// 强制要求子类定义这些方法

abstract protected function getData();

abstract protected function setData($name);

// 普通方法(非抽象方法)

public function printOut() {

print $this->getData() . "\r\n";

}

}

class NissanCar extends Product{

public function getData(){

return $this->data;

}

public function setData($name){

$this->data[]=$name;

作者  | 2017-3-13 20:09:56 | 阅读(33) |评论(0) | 阅读全文>>

redis安装配置(转)

2017-3-6 17:38:04 阅读20 评论0 62017/03 Mar6

一、Redis基础部分:

1、redis介绍与安装比mysql快10倍以上

*****************redis适用场合****************

1.取最新N个数据的操作

2.排行榜应用,取TOP N 操作

3.需要精确设定过期时间的应用

4.计数器应用

5.Uniq操作,获取某段时间所有数据排重值

6.实时系统,反垃圾系统7.Pub/Sub构建实时消息系统

7.Pub/Sub构建实时消息系统8.构建队列系统

9.缓存

=============================================

SET操作每秒钟 110000 次,GET操作每秒钟 81000 次,服务器配置如下:

Linux 2.6, Xeon X3320 2.5Ghz.

stackoverflow 网站使用 Redis 做为缓存服务器。

同时也会将数据写到硬盘上。所以数据是安全的(除突然断电外,重启服务会写到dump.rdb文件中)

1.安装:

tar zxvf redis-2.6.9.tar.gz

cd redis-2.6.9

make

cd src && make install

作者  | 2017-3-6 17:38:04 | 阅读(20) |评论(0) | 阅读全文>>

【转载】破壳——小鸟 linux最base的命令

2017-1-14 11:15:40 阅读35 评论0 142017/01 Jan14

老鸟早上训话,小鸟今天乖乖的不再眼高手低,从最基本的命令入手练习。

一、文件及文件夹的增删改查

小鸟在/bin下创建目录ooo

mkdir  创建目录,mkdir -p 创建存在或不存在的目录

rm 删除目录必须有参数,rm -r -i -v 目录名

ls -l 文件或目录查找相当于find

rmdir删除目录

更改目录权限或目录下所有文件的权限

更改目录名称: mv 原名称 新名称  或相对路径更改:   mv /原目录  /新目录

二、小鸟创建文件(jingdong)

touch创建文件,find查找文件,stat 查看文件信息

vi或vim编辑文件完后,按esc从编辑模式转换末行模式输入:wq保存并退出,使用cat 命令查看文件内容

小鸟用find / -name 文件名 查找文件AAA如下

小鸟用cat命令查看目录/usr/aaa下的文件AAA如下图:

查找10天内创建或修改的文件  find /目录 -type -mtime -10

删除文件rm 或rm -f 强制删除,无提示信息

复制文件到另一目录下并重命名 cp -v 源文件名 目的目录及新命名

小鸟尝试复制/home/SS下的文件jingdong到/usr/aaa目录下并命名为SSS,如下

修改文件名称 :mv 旧名  新名称

作者  | 2017-1-14 11:15:40 | 阅读(35) |评论(0) | 阅读全文>>

【转载】破壳——小鸟初识linux

2017-1-14 11:14:59 阅读22 评论0 142017/01 Jan14

一、centos7 忘记root密码

启动时安E进入grub 编辑模式

ro crashkernel=auto  修改为rw init= /sysconfig/bin/sh

ctrl+x 进入紧急模式

chroot /sysroot

password

提示root,输入新密码,回车

再次输入密码,回车

auto /.autorelabel

reboot或手动重启

小鸟在这尝试了好多次都没解决,当输入password后界面会提示很多小白方块,小鸟完全懵了,此时程序老鸟实在看不下去了,操着键盘继续输入密码,结果完全ok!老鸟说学习计算机必须学会计算机思维,这样对于网上提供的很多方法明显是不需要自己去尝试的错误方法。小鸟再接再厉,明天继续!

二、虚拟机联网

将网络从nat切换为桥接模式即可

使用vi或vim打开文件,:wq 保存并退出编辑模式

进入系统配置文件/etc/sysconfig/network-scripts/ifconfig-enN

修改onboot=yes

果断上网中

作者  | 2017-1-14 11:14:59 | 阅读(22) |评论(0) | 阅读全文>>

thinkphp执行控制器的方法原理

2017-1-13 19:20:02 阅读19 评论0 132017/01 Jan13

ReflectionMethod 类

ReflectionMethod 类报告了一个方法的有关信息。

public mixed ReflectionMethod::invoke ( object $object [, mixed $parameter [, mixed $... ]] )

执行一个反射的方法。

<?php

class HelloWorld {

public function sayHelloTo($name) {

        return 'Hello ' . $name;

    }

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');

echo $reflectionMethod->invoke(new HelloWorld(), 'Mike');

?>

使用数组给方法传送参数,并执行他。

<?php

class HelloWorld {

public function sayHelloTo($name) {

        return 'Hello ' . $name;

作者  | 2017-1-13 19:20:02 | 阅读(19) |评论(0) | 阅读全文>>

(安全)支付宝支付回调验证

2016-12-14 13:37:14 阅读48 评论0 142016/12 Dec14

1:支付宝安全验证(官方文档给出的说明)

1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号,

2、判断total_amount是否确实为该订单的实际金额(即商户订单创建时的金额),

3、校验通知中的seller_id(或者seller_email) 是否为out_trade_no这笔单据的对应的操作方(有的时候,一个商户可能有多个seller_id/seller_email),

4、验证app_id是否为该商户本身。上述1、2、3、4有任何一个验证不通过,则表明本次通知是异常通知,务必忽略。在上述验证通过后商户必须根据支付宝不同类型的业务通知,正确的进行不同的业务处理,并且过滤重复的通知结果数据。在支付宝的业务通知中,只有交易通知状态为TRADE_SUCCESS或TRADE_FINISHED时,支付宝才会认定为买家付款成功。

作者  | 2016-12-14 13:37:14 | 阅读(48) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017

注册 登录  
 加关注