PHP

  • php 正则匹配中文 utf8编码/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$

    在javascript中,要判断字符串是中文是很简单的.比如: var str = "php编程"; if (/^[\u4e00-\u9fa5]+$/.test(str)) { alert("该字符串全部是中文"); } else { alert("该字符串不全部是中文"); } 想当然的,在php中来判断字符串是否为中文,就会沿袭这个思路: <?php $str = "php编程"; if (preg_match(&q

    utf8编码/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/uMay 12

  • 微信获取access_token

    function httpGet($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_TIMEOUT, 500); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setop

    May 12

  • getter与setter的意义

    很多php码农不知道getter和setter的意义在哪里,认为写getter和setter完全是画蛇添足.所以在使用php的类的时候喜欢定义一个公开属性,比如 <?php class User { public $id; public $username; public $group } 这样的方式去定义,然后通过 $user = new User(); $id = $user->id; 这样的方式去调用属性.这样写确实很方便,开发的时候能节省不少的代码.然而这样的写法会引出一个维护的问题.

    May 12

  • mac 安装laravel/homestead

    安装VirtualBox 安装Vagrant 添加VagrantBox vagrant box add laravel/homestead 安装Homestead 管理配置,安装在用户根目录. 修改配置文件 ~/.homestead/Homestead.yaml 修改配置文件 ~/Homestead/script/homestead.rb 虚拟机管理,进入Homestead目录 启动虚拟机 vagrant up 加载配置文件 vagrant provision 关闭虚拟机 vagrant hal

    laravel, homesteadMay 9

  • PHP Returning Numeric Values in JSON

    When I wrote about launching a prototype of a new joind.in API, quite a few people started to try it out. My friend David Soria Parra emailed me to point out that many of the numbers in the API were being returned as strings. He said: It's just a sta

    May 7

  • php通过ini_set修改php.ini配置例子

    <?php //读取php.ini的初使值 echo ini_get('file_uploads')."<br>"; echo ini_get('max_input_time')."<br>"; echo ini_get('max_execution_time')."<br>"; echo ini_get('post_max_size')."<br>"; echo ini_

    May 4

  • 预排序遍历树算法的图文解释
    预排序遍历树算法的图文解释

    这个算法有如下几个数据结构 1 lft 代表左 left 2 rgt 代表右 right 3 lvl 代表所在的层次 level 下面这个图是一个典型的结构 我们先看一些使用方法 1 查看整个树(A)有多少节点(包含自己) 直接看根节点就行了 (right-left+1)/2 = (20-1+1)/2 = 10 这个数有10个节点 2 查看从节点A到E的路径 select * from tree where lft between 1 and 6 and rgt between 7 and 20

    algorithm, traversal, tree, 算法, 预排序遍历树, modified, preorderApril 28

  • PHP数组对象自定义排序
    PHP数组对象自定义排序

    最近工作中遇到一个问题: 有以下一个数组对象(即数组的元素是一个个包含多个字段的对象)进行多字段排序,该数组对象原始数据如下: 排序规则如下: 1 默认按照对象的createtime字段升序排列. 2 创建时间相等的情况下,按照value字段升序排列. 按照以上排序规则,最终显示结果应该为: Data[2]-> Data[3]-> Data[0]-> Data[1] 现在去查询PHP自带排序方法,简单排序(sort)只能满足按照某一个字段的键值或字母序顺序排列,例如对上述数组对象data

    PHP, 排序, 对象, 数组April 28

  • ThinkPHP命令行工具Tptool2.0使用教程

    经常需要用ThinkPHP开发项目,总感觉手动创建控制器.模型.视图是一件繁琐的事情,需要不停地复制粘贴.还有当文件夹的层级很深时,来回找文件也是一件很耗时的事情. 我一直坚信:工具善其事,必先利其器.在借鉴国外的一些框架如ExtJS和Yii后,我想到了开发一个命令行工具来简化操作.基于ThinkPHP3.2开发~ 工具下载地址:https://git.codeweblog.com/jiusem/Tptool 安装 将项目解压到D盘下,形成的目录是D:\tptool,并将该路径添加到环境变量.

    cli, PHP, ThinkPHP, 命令行工具, TptoolApril 27

  • php is_numberic函数安全吗
    php is_numberic函数安全吗

    0x00 简介 国内一部分CMS程序里面有用到过is_numberic函数,我们先看看这个函数的结构 bool is_numeric ( mixed $var ) 如果 var 是数字和数字字符串则返回 TRUE,否则返回 FALSE. 0x01 函数是否安全 接下来我们来看个例子,说明这个函数是否安全. $s = is_numeric($_GET['s'])?$_GET['s']:0; $sql="insert into test(type)values($s);"; //是 val

    April 24

  • 命名空间 导入和别名,全局命名空间(三)

    导入和别名 官方解释:允许通过别名引用或导入外部的完全限定名称,是命名空间的一个重要特征.这有点类似于在类 unix 文件系统中可以创建对其它的文件或目录的符号连接 namespace My\Full; class Classname{ function __construct(){ echo __NAMESPACE__.'<br />'; } } namespace My\Full\NSname\subns; function func(){ echo __NAMESPACE__; } na

    April 18

  • 命名空间-动态访问元素(二)

    什么是动态访问元素? 动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化.比如众所周知的ECMAScript(JavaScript)便是一个动态语言.除此之外如Ruby.Python等也都属于动态语言,而C.C++等语言则不属于动态语言. 对象,函数,常量的动态调用 class classname{ function __construct(){ echo __METHOD__; } } function funcname(){ echo __FU

    April 18

  • 命名空间 (一)

    什么是命名空间? 从广义上来说,命名空间是一种封装事物的方法.在很多地方都可以见到这种抽象概念. 例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色. 具体举个例子,文件 foo.txt 可以同时在目录/home/greg 和 /home/other 中存在,但在同一个目录中不能存在两个 foo.txt 文件. 另外,在目录 /home/greg 外访问 foo.txt 文件时,我们必须将目录名以及目录分隔符放在文件名之前得到 /home/greg/foo.

    April 18

  • Windows+Apache搭建PHP开发环境

    本文详细介绍了在Windows8.1(X64)下使用Apache2.4.12-x64-vc11/php-5.6.7-Win32-VC11-x64/Mysql5.6.24/phpMyAdmin4.4.2搭建php开发环境. 第一步:下载安装的文件 1. 建议选择无SSL功能的Apache版本来完成开发. 2. Windows下安装MySQL就选择.msi安装包格式,双击根据向导安装即可,简单方便. 3. PHP我们选择用Windows的.zip版本.从安全性和性能来说,都是zip版本的好,一般服务

    April 16

  • 解析提高PHP执行效率的50个技巧

    1.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的"函数"(译注:PHP手册中说echo是语言结构,不是真正的函数,故 把函数加上了双引号). 2.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍. 3.$row['id'] 的速度是$row[id]的7倍. 4.echo 比 print 快,并且使用echo的多重参数(译注:

    PHP, 技巧, 解析, 执行, 效率, 提高April 16

  • PHP连接access

    PHP连接access有很多方法,odbc扩展是默认开通的,也是容易成功的,PDO方法需要开通PDO扩展: 1,PHP连接ACCESS使用ODBC扩展 <?php //需要驱动路径,数据库名,数据库密码 $Driver="DRIVER=Microsoft Access Driver (*.mdb);dbq=".realpath("./database/tomonitor8.mdb"); $database_name=""; $databas

    April 15

  • 并发利器 Gearman (一) 尝试

    PHP 没有提供直接的并发功能.要实现并发,必须: function asyn_send(){ $fp = fsockopen('localhost', 80, &$errno, &$errstr, 5); if(!$fp){ echo "$errstr ($errno) /n"; } fputs($fp, "GET /sync.php?param=1&param2=2&a=c/r/n"); fclose($fp); } 要不然, P

    gearman, 尝试April 14

  • CURL操作与实践

    CURL是liunx系统的一个命令行工具,目的是进行数据抓取:现在CURL已经在非常多的系统中使用,WIN用户可以使用DOS版本的CURL命令操作,操作方法很简单,就是在CMD窗口中找到CURL文件夹,执行CURL命令即可,CMD中操作CURL不是本文讲解的重点,本文讲解PHP中的CURL: 一,PHP中安装CURL 1,PHP.INI中找到 ;extension=php_curl.dll,去掉分号,如果没有自己添加一行: 2,本文使用的是phpstudy,在其他菜单->PHP扩展及设置->P

    April 14

  • php开启curl扩展

    php_curl开启这个扩展 环境:win7 wamp集成开发php软件 步骤 1.左键WAMP软件,找到PHP,然后找到扩展,点击php_curl开启这个扩展 2.然后找到PHP的配置文件php.ini,路径为\wamp\bin\php\php5.3.13\php.ini,把php_curl注释去掉,开启扩展. 3.然后找到Apache的php.ini,路径为:\wamp\bin\apache\apache2.2.22\bin\php.ini,同样把php_curl注释去掉(即是extensi

    April 13

  • PHP-Java-Bridge的使用(平安银行支付功能专版)

    去年做平安银行的时候,用到了PHP-Java-Bridge,后来写了一篇博客记录使用PHP-Java-Bridge的一些心得(连接:http://my.codeweblog.com/kenblog/blog/316234). 后来有很多陆陆续续的朋友在做平安银行接口使用PHP-Java-Bridge,看了我那篇博客也有点蛋疼(可能是那个时候才开始写博客,思路.条理和描述之类的不是很清楚). 最近使用PHP-Java-Bridge做平安银行开发的人还挺多,好些朋友都来问过,现在抽空专门写一篇关于平

    bridge, JavaBridge, php-java-bridge, 平安银行, 平安银行支付April 13

  • php魔术方法__call

    __call是魔术方法中的一个,当程序调用到当前类中未声明或没权限调用的方法时,就会调用__call方法 class test { public function emptyFunc(){ $getArgs = func_get_args(); $funcName = $getArgs[0]; //$params = array_slice($getArgs, 1); //var_dump($params); // this is params return $funcName . ' func

    April 11

  • php mb_substr()函数详细介绍

    PHP substr()函数可以分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函 数,mb_substr() /mb_strcut的用法与substr()相似,只是在mb_substr()/mb_strcut最后要加入多一个参数,以设定字符串的编码,但是 一般的服务器都没打开php_mbstring.dll,需要在php.ini中把php_mbstring.dll打开. <?php echo mb_substr('我们都是好孩子h

    April 11

  • Zend Studio12的破解教程
    Zend Studio12的破解教程

    方法/步骤 首先下载zendstudio正式版 安装 按照提示一路next 一直到finish 第一次启动需要输入注册码不要管 关闭退出 打开安装目录 下载genkey破解文件 解压 替换zend studio安装目录的plugins文件夹下的com.zend.verifier_12.0.0.v20141115-2331.jar文件 (modify this name of jar) 重新启动zendstudio 输入 4d9649563634dd75a408825ff7f4e9a49815f6

    zend, 破解, StudioApril 10

  • kindeditor 本地图片文件上传

    一.文件或图片上传 try { if (!is_dir($this->uploadPath)) { throw new InvalidArgumentException('files.ourats.com还没搭建?'); } if (!is_writable($this->uploadPath)) { throw new InvalidArgumentException('上传文件夹不可写'); } // 如果该公司目录不存在,则创建之 $ns = new Zend_Session_Names

    April 8

  • 类型转换,定界符,流程控制

    数据类型 整形,int,integer 字符串,string 定义字符串有4种方法 单引号,双引号,heredoc(定界符),nowdoc(定界符) 单引号是定义字符串最快的一种方式 单引号前面加\ 反斜杠可以转义单引号 $s = 'this is\' a dog' echo $s;//this is' a dog 如果内容里最后一个是\可以用反斜杠再转义 建议:尽量使用单引号 双引号 可以解析变量 $name = '咸鱼'; $s1 = 'hello $name';//hello $name

    数据类型, 定界符April 7

  • 无限级分类信息格式化工具类

    分类功能在很多web应用中都是必须的, 尤其是商城中尤为重要. 而对无限级分类信息的格式化也是web编程的基本的技能之一. 这里分享一个无限级分类的格式化工具类. 本来是将其中的方法都作为静态方法直接使用, 回来发现很多时候大家分类信息中的分类id的名称各不相同, 所以又加了一个构造方法, 指定分类id字段. <?php /** * 分类信息格式化工具类 */ class Category { protected $sonName; protected $parentName; /** * 初始

    PHP, 无限级分类, web基础April 5

  • PHP中转访问脚本一枚

    <?php set_time_limit(0); $id=$_GET["id"]; $id=str_replace(" ","%20",$id); $id=str_replace("=","%3D",$id); $url = "http://blog.discuz.com/batch.common.php?action=modelquote&cid=1&name=spacec

    April 3

  • PHPQuery

    http://job.blueidea.com <?php include 'phpQuery/phpQuery.php'; phpQuery::newDocumentFile('http://job.blueidea.com'); $companies = pq('#hotcoms .coms')->find('div'); foreach($companies as $company) { echo pq($company)->find('h3 a')->text().&quo

    April 3

  • Composer 中国镜像

    用法: 有两种方式启用本镜像服务: 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置).见"例1" 将以下配置信息添加到你的项目的 composer.json 文件中(针对单个项目配置).见"例2" 为了避免安装包的时候都要执行两次查询,切记要添加禁用 packagist 的设置,如下: { "repositories": [ {"type": "composer"

    April 2

  • piwik统计软件

    iwik是一个PHP和MySQL的开放源代码的Web统计软件. 它给你一些关于你的网站的实用统计报告,比如网页浏览人数, 访问最多的页面, 搜索引擎关键词等等- Piwik拥有众多不同功能的插件,你可以添加新的功能或是移除你不需要的功能,Piwik同样可以安装在你的服务器上面,数据就保存在你自己的服务器上 面.你可以非常容易的插入统计图表到你的博客或是网站抑或是后台的控制面板中.安装完成后,你只需将一小段代码放到将要统计的网页中即可. 同时,做为一个开源项目软件,Piwik也鼓励开发人员对其功能

    April 2

  • Xampp使用最新版本,使用QeePHP框架时出现错误

    http://blog.csdn.net/meegomeego/article/details/36187593

    xampp, qeephp, 数据库连接报异常March 31

  • 使用GitHub建立个人网站

    http://www.cnblogs.com/flyher/p/3361140.html http://blog.csdn.net/on_1y/article/details/19259435

    建站, githubMarch 31

  • 常见的php运行方式

    SAPI:Server Application Programming Interface服务端应用编程端口.他就是php与其他应用交互的接口,php脚本要执行有很多中方式,通过web服务器,或者直接在命令行行下,也可以嵌入其他程序中.SAPI提供了一个和外部通信的接口,常见的SAPI有:cgi.fast-cgi.cli.Apache模块的dll等. 1.CGI CGI即通用网关接口(common gatewag interface),它是一段程序,通俗的讲CGI就象是一座桥,把网页和WEB服务

    March 30

  • apacheBench对网站进行压力测试

    ab 的全称是 ApacheBench , 是 Apache 附带的一个小工具 , 专门用于 HTTP Server 的 benchmark testing , 可以同时模拟多个并发请求.前段时间看到公司的开发人员也在用它作一些测试,看起来也不错,很简单,也很容易使用,所以今天花一点时间看了一下. 通过下面的一个简单的例子和注释,相信大家可以更容易理解这个工具的使用. 一个简单的例子 /* 在这个例子的一开始,我执行了这样一个命令 ab -n 10 -c 10 http://www.google

    apache, bench, 网站, 测试, 压力March 30

  • 字符与ascii的互转

    字符转ascii <?PHP //中文字符转ascii,首先要判断是gbk/gb2312编码还是utf-8编码 //中文gbk/gb2312 每个中文由两个英文字符组成,也就有两个ascii码 //中文utf-8 每个中文由三个英文字符组成,也就有三个ascii码 //下面以GBK编码为例: $char = 'gbk'; $str = '我是百度baidu.com';//中英文数字混排 echo "要输出的字符串是: ".$str,$char."<br />

    March 28

  • Zend Guard6.0使用教程--PHP代码加密
    Zend Guard6.0使用教程--PHP代码加密

    Zend Guard 6可以用于PHP项目的加密与版权控制,防止自己的PHP成功被人盗窃,加密使用过程非常简单,本文详细的介绍了Zend Guard 6在的加密使用教程! 一.准备工具 1. ZendGuard-6_0_0 下载地址:http://www.zend.com/en/products/guard/downloads#Windows 2. ZendGuardLoader-70429-PHP-5.4-Windows-x86 下载地址:http://www.zend.com/en/prod

    zend, PHP, Guard, 使用教程, 代码加密March 26

  • 使用PHP自带zlib函数 几行代码实现PHP文件打包下载zip

    <?php //获取文件列表 function list_dir($dir){ $result = array(); if (is_dir($dir)){ $file_dir = scandir($dir); foreach($file_dir as $file){ if ($file == '.' || $file == '..'){ continue; } elseif (is_dir($dir.$file)){ $result = array_merge($result, list_dir

    March 26

  • 如何通过phpize增加php模块

    做个广告 一,phpize的好处 什么时候我们要用phpize呢?我们在安装php时: './configure' '--prefix=/usr/local/php' '--with-mysql=/usr/local/mysql' '--with-zlib-dir' '--with-freetype-dir=/usr' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--with-gd' '--enab

    March 25

  • php 安全模式开启(safe_mode=on|off)

    php安全模式:safe_mode=on|off 启用safe_mode指令将对在共享环境中使用PHP时可能有危险的语言特性有所限制.可以将safe_mode是指为布尔值on来启用,或者设置为off禁用.它会比较执行脚本UID(用户ID)和脚本尝试访问的文件的UID,以此作为限制机制的基础.如果UID相同,则执行脚本:否则,脚本失败. 具体地,当启用安全模式时,一些限制将生效. 1.所有输入输出函数(例如fopen().file()和require())的适用会受到限制,只能用于与调用这些函数的

    php安全模式March 25

  • 使用Zend Studio从GitHub上下载项目
    使用Zend Studio从GitHub上下载项目

    http://blog.csdn.net/liuzhushiqiang/article/details/13276989 (1)首先确认Zend Studio中是否安装Git插件: (2)生成ssh-Key: Zend Studio菜单Window-Preferences,点击打开左侧General,点击Generate RSA Key进行生成key操作,完成后,复制ssh-key内容! (3)在你的GitHub网站中添加ssh-key: 打开GitHub网站并使用公用帐号登录,点击顶部的设置按

    zend, PHP, Studio, githubMarch 25

  • PHP合并大文件 高性能 低内存 低CPU 快速合并大文件 非耗时操作 快速合并PDF等影视大文件

    <?php $command = 'pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf'; $result = shell_exec($command); header('Content-disposition: attachment; filename=123.pdf'); header('Content-type: application/pdf'); readfile('123.pdf'); ?> http://my.codeweblog.com/car

    PHP合并大文件, 快速合并大文件, 快速合并PDF文件, 快速合并影视大文件, PHP高性能合并大文件March 25

  • Zend Studio使用SVN时遇到的一些问题
    Zend Studio使用SVN时遇到的一些问题

    (1)使用Zend Studio导入项目时,如果我想删除"现有的资源库位置",如下图所示,解决办法是在上方工具栏中Window->Show View->SVN->SVN资源库,直接在要删除的资源库位置链接上点击右键,选择"废弃位置"即可! (2)

    svn, zend, PHP, StudioMarch 25

  • 几个获取ip位置信息的接口

    最近有获取ip地理位置信息的应用,网上查找了几个可以使用的接口罗列如下: 1.淘宝ip库 请求地址:http://ip.taobao.com/service/getIpInfo.php?ip=xx 2.搜狐ip(js引用) 请求地址:http://pv.sohu.com/cityjson?ie=utf-8 3.太平洋 请求地址:http://whois.pconline.com.cn/?ip=xxx 4.1616 请求地址:http://w.1616.net/chaxun/iptolocal.p

    March 24

  • php+mysql快速随机查询方法

    大家都知道MYSQL自带的"Order By Rand"数据量大时是非常缓慢的,于是有了各种优化的随机查询方法,这是我所知的最优的方法,不知道还有没有更快的,分亨下~ <?php // 先查询出表中最小的ID和最大的ID以作使用 $sql = "SELECT MIN(id) as min, MAX(id) as max FROM #@__table WHERE 1"; // 省略取值过程~,$row为结果{min,max} ...... // 生成要取的随机I

    PHP, MySQL, 随机查询, 快速查询March 24

  • PHP dotenv

    原文地址:PHP dotenv 通过 .env 加载环境变量并且能够自动的通过 getenv(), $_ENV 和 $_SERVER 自动调用. 这是一个PHP版本 Ruby dotenv. 为什么是 .env? 你不能在代码中存储任何的 敏感/账号 数据. 存储 在环境中存储配置 是 12-factors的一项规则. 在部署中可能变化的所有的内容 – 诸如数据库认证或者第三方服务的认证应该从代码中剥离出来.也就是环境变量的概念. 广义上来说, 一个 .env 文件是加载自定义配置的一个简单的方

    PHP, dotenvMarch 19

  • 使用 PHPStorm 开发 Laravel 应用
    使用 PHPStorm 开发 Laravel 应用

    原文地址: Laravel Development using PhpStorm 参考翻译: 使用 PHPStorm 开发 Laravel 应用 很多PHP程序员使用 laravel 创建他们的应用程序.laravel 是一个免费开源的PHP web应用程序框架.它基于多个Symfony 组件,提供了一个开发框架,包括authentication, routing, sessions, caching 等模块. 去年夏天, 我们介绍了 支持Blade .blade 是Laravel的模板语言,

    March 19

  • apt-get: Could not resolve 'archive.ubuntu.com'

    最近在搭建 Vagrant 服务器的时候, 使用 sudo apt-get update 的时候出现了访问错误 Err http://archive.ubuntu.com trusty InRelease Err http://archive.ubuntu.com trusty-updates InRelease Err http://security.ubuntu.com trusty-security InRelease Err http://archive.ubuntu.com trust

    ubuntu, apt-get, vagrantMarch 19

  • 列出所有的配置 Repo 源
    列出所有的配置 Repo 源

    原文地址: List All Configured Repositories 怎样才能在 CentOS / Fedora / Red Hat Enterprise / Scientific Linux 操作系统中列出配置的 Repo 源 你需要传递一个 repolist 给 yum 命令, 这个选项将给你列出一个已经在 RHEL / Fedora / SL / CentOS Linux 系统中配置过的 Repo 源, 默认是列出所有的可用 Repo 源, 传递 -v(verbose mode[详

    March 19

  • 使用windows上的 MOD_REWRITE 启用 url 重写

    原文地址:ENABLING MOD_REWRITE ON WINDOWS APACHE FOR URL REWRITING 以下几步将帮助你 windows 平台上的 wamp 启用 mod_rewrite 组件 我需要使用 .htaccess 文件来启用本地 Wordpress 站点上的url重写功能, 让url地址看起来更通俗易懂, 更漂亮. 如果 mod_rewrite 组件没有开启, 网站将不能使用任何的 url重写功能, 这个将会在 WordPress 站点报出一个 404 错误页面.

    apache, rewrite, WindowsMarch 19

  • php 中更简洁的三元运算符 ?:

    原文地址 Even shorter ternary operators in PHP using ?: 今天我发现了PHP三元运算符的一个小小的用法. 这给我干涸的大脑一点乐趣! PHP 三元运算符是对参数赋值时候的一个简洁的主要用法. 一个主要的用法: PHP 三元运算符能够让你在一行代码中描述判定代码, 从而替换掉类似以下的代码: <?php if (isset($value)) { $output = $value; } else { $output = 'No value set.';

    PHPMarch 19

« Prev 1 2 3 4 5 6 ... 10 Next »