
PHP
文章平均质量分 56
ericliu000
主要研究PHP、MySql、数据结构&算法等。科技为善,希望在优快云大家庭里,结交更多的朋友!
展开
-
SPL学习笔记(2)---类的实现
一.SPL中的双向链表—SplDoublyLinkedList()双向链表的操作总结:1.当前节点的操作: rewind() 指向bottom current() 当前节点 next() 下一个节点 prev() 上一个节点。2.增加节点的操作: push()会插入到top unshift()会插入到bottom。3.删除节点的操作: pop() 会删除节点中的top元素、原创 2016-01-30 15:14:01 · 274 阅读 · 0 评论 -
SPL学习笔记(3)---迭代器
一.什么是迭代器通过某种统一的方式遍历链表或者数组中的元素的过程叫做迭代遍历,这种统一的遍历工具我们叫做迭代器。二.ArrayIterator迭代器1:Iterator接口PHP中的迭代器是通过Iterator接口定义的。包括current()、key()、next()、rewind()、valid()等方法。2:方法foreach默认实现了ArrayIterator的接口。但是我们学习这个迭代器,原创 2016-01-30 15:22:42 · 288 阅读 · 0 评论 -
SPL学习笔记(4)---基础接口
如果想对迭代器进行一定的处理之后再返回,可以用这个接口。说明:IteratorIterator类是OuterIterator接口的实现,扩展的时候可以直接继承类IteratorIterator.<?php $arr=array("a","b","c");//继承IteratorIterator类class OuterImpl extends IteratorIterator{ //对值原创 2016-01-30 15:25:44 · 315 阅读 · 0 评论 -
SPL学习笔记(5)---函数的使用
一.Autoload函数I : 为了实例化PHP中的类对象,需要通过一定的方法寻找到类的定义。通常情况下,类会定义在一个单独的文件中。现在我们建立一个文件夹libs,建立文件 libs/Test.php 和 libs/Test.class.php 和 index.php1:libs/Test.php 的代码<?phpclass Test{ public function __c原创 2016-01-30 15:32:55 · 335 阅读 · 0 评论 -
文件上传与下载学习笔记(1)---文件上传原理及配置
一:原理将客户端的文件上传到服务器端的临时目录,再将服务器端的临时文件移动到指定目录。二:客户端的配置表单的method必须为post方法 表单必须添加enctype=”multipart/form-data”属性 二者缺一不可。客户端进行限制:1:限制文件上传的大小 <input type="hidden" name="MAX_FILE_SIZE" value="2M"/>2:原创 2016-01-30 15:35:49 · 665 阅读 · 0 评论 -
文件上传与下载学习笔记(2)---多文件、单文件、多个单文件函数封装
一:前导知识点:1:is_string()判断一个变量是否是字符串 is_array 判断一个变量是否是数组2:pathinfo()函数可以获取文件的扩展名。3:创建目录函数 mkdir()4: 生成唯一的随机数 uniqid()5:判断文件、目录是否存在file_exsits()二:思路与流程三:封装的函数代码<?php/** * 得到想要的文件类型 * @return unknown *原创 2016-01-30 15:37:47 · 403 阅读 · 0 评论 -
文件上传与下载学习笔记(3)---面向对象方法实现文件上传
<?phpclass uploadClass { protected $filename; protected $maxSize; protected $allowExt; protected $allowMime; protected $uploadPath; protected $imgFlag; protected $fileInfo;原创 2016-01-30 15:38:53 · 419 阅读 · 0 评论 -
PHP文件处理系统
概述PHP是以UNIX文件系统为模型的,因此在windows系统中,我们只能获得”file”、”dir”、“unknown”三种文件类型。在这里,我们着重讲解file和dir类型。1.文件类型常用的有下面函数: filetype()获取文件类型 is_file() 判断是否是普通文件类型 is_dir() 判断是否是目录类型 is_link() 判断是否是链接类型2.文件属性filesize原创 2016-01-31 12:37:39 · 589 阅读 · 0 评论 -
[PHP]文件系统
介绍在很多PHP应用中,我们都会用到“文件”,比如上传文件,下载文件,信件文件,读文件等等操作。所以,文件对我们来说至关重要。读文件读文件有3种方法。readfile($fileName)这种方式很简单,只是很简单的打开文件、输出文件内容到屏幕、关闭文件。在这个过程中,我们只是简单的输出了文件,不能对文件的输出内容做一个控制。平时,我们很少只是简单的将文件内容输出而不做任何处理,所以,这个函数很简单原创 2016-03-22 20:13:11 · 354 阅读 · 0 评论 -
记一次错误调试,关于php命令行[php cli]
这几天遇到一个需求,这个需求写在了php文件里,这个文件最好在命令行里执行。但是,出问题了。当我在浏览器里执行php文件的时候,ok,一切正常。但是,当我在命令行里执行的时候,报错!错误信息为:PHP Fatal error: Uncaught Exception: could not find driver in /var/www/html/huxintong_admin/include/lib原创 2016-04-06 19:06:04 · 3264 阅读 · 0 评论 -
自动载入实战---构造一个PSR-0的简易框架
PSR-0规范是什么命名空间与绝对路径一致类名首字母大写除入口文件外,其他PHP文件必须只有一个类建立目录结构---App------Controller---------Home------------Index.php---All------Object.php------Loader.php---index.php上面是本框架的目录结构。自动载入\App\Controller\H原创 2016-07-27 07:43:39 · 562 阅读 · 0 评论 -
SPL学习笔记(1)---概念
一:什么是SPLSPL是Standard PHP Library的缩写,他是用于解决常见问题的接口与类的集合。常见问题是什么问题呢?1:数据建模、数据结构。解决数据如何存储的问题。2:元素遍历。数据如何查看的问题。3:常用方法的统一调用。通用方法(数组、集合的大小)。自定义遍历。4:类定义自动装载。SPL框架包括数据结构、迭代器、基础接口、基础函数、异常、其他等。二:SPL中的常用数据结构1:什么是原创 2016-01-30 12:07:21 · 837 阅读 · 0 评论 -
[总结]PHP正则表达式
一.正则表达式基础1.什么是正则表达式正则表达式是字符串搜索和匹配的工具。2.无孔不入的正则表达式我们日常生活中使用的很多电子设备,无时无刻不在跟正则表达式打交道。1.windows的文件搜索功能: *.zip就是一种正则表达式的匹配2.注册时的手机号码格式的验证 3.正则表达式的使用范围不管你是使用PHP,还是Java,还是Js.都会用到正则表达式。 正则表达式,基本通用于各个编程语言,各个原创 2016-01-28 20:18:31 · 359 阅读 · 0 评论 -
[总结]PHP面向对象
一.面向对象的基本概念1.对象的理解1.1什么是对象世间万物皆对象。 我们能够接触到的,感知到的,都是对象。我们每天都跟对象在打交道。1.2对象的组成对象由两部分组成,一部分是属性,一部分是方法。 属性:描述对象所应具有的属性。 方法:描述对象所应具有的功能。比如:人这个对象。 属性:身高、体重、年龄… 方法:走路、吃饭、学习…2.面向对象的理解面向,就是一直看着,一直用着。 面向对象,原创 2016-01-27 22:15:46 · 385 阅读 · 0 评论 -
APP接口简介---PHP开发APP接口
1:APP接口介绍 APP通信接口需要三部分: I:接口地址:如http://app.com/api.php?format=xml) II:接口文件:如api.php处理一些业务逻辑 III:接口数据2:客户端APP通信客户端通信的模式,非常类似于B/S结构当点击客户端一个功能时,有一个接口地址,接口地址返回XML,json等数据3:客户端原创 2014-12-11 20:14:28 · 2096 阅读 · 0 评论 -
递归函数
递归函数是自调用函数,即在函数体内直接或间接地调用自己。 需要设置满足调用的条件,满足条件,则调用自身,不满足条件,则不调用自身,将函数的控制权交还给上一层函数。 若不设置条件,则会成为死循环。应用举例:PHP开发中,无限分类的开发。无限分类思想:为每一个分类设置一个父类id(pid),顶级分类id为0,之后每一个分类的id是其他分类的父类id。通过pid一层层的查询下去。原创 2015-02-25 08:37:56 · 396 阅读 · 0 评论 -
ubutun搭建LAMP环境步骤
1:安装ubuntun 2:开启SSH服务 sudo apt-get install openssh-server 3:使用ifconfig查看主机的ip地址,使用Xshell连接 4:安装LAMP 安装Apache2 sudo apt-get install apache2 安装Mysql sudo apt-get install mysql-server 安装php原创 2015-03-16 14:25:01 · 549 阅读 · 0 评论 -
PHP中CURL详细教程
一:什么是CURL CURL:Client URL Library Functions 官方定义为:使用URL语法传输数据的命令行工具。(有点晕。。。)举例理解: 顾客到饭店吃饭。顾客———服务员————饭店顾客到饭店吃饭,一般来说(没有服务员的饭店除外),有以下几个流程。 1:顾客通过服务员点菜; 2:饭店通过服务员了解到顾客要点的菜,做好菜; 3:饭店将做好的菜通过服务员传递给顾客原创 2015-03-16 20:54:42 · 883 阅读 · 0 评论 -
Smarty模板引擎的使用
一、为什么使用Smarty?PHP代码与HTML代码混合在一起,很混乱。Smarty将表现层(前端)和逻辑层(后端)分开。利用smarty缓存技术,有效提高访问速度。二、Smarty的原理&使用原理可以用一张图来表示 使用方法 1:在index.php中引入smarty的入口文件:Smarty.class.php 2:实例化一个smarty类;原创 2016-01-22 18:23:27 · 431 阅读 · 0 评论 -
Memcache详解
一、概述1.memcache是什么? 是分布式缓存服务。分布式,可以分布在多台服务器上,达成一个集群的效果。2.memcache怎么用?3.memcache具体实现? 一张表,存在 key 与 value字段。4.应用场景? 1.非持久存储,断电重启就没有了。 2.不适合单机。不要将mysql与memcache安装在一台机器上,这会消耗大量的内存。二、安装mem原创 2016-01-22 22:21:02 · 320 阅读 · 0 评论 -
[总结]PHP变量常量、流程控制、函数应用
PHP全称:Hypertext Preprocessor(超文本预处理器)一、PHP变量&常量1. 变量两种特殊变量:可变变量和引用传值 可变变量:<?php $hi="hello"; $$hi="world"; echo $hi,$hello;//hello world 引用传值:给原来的变量$a起一个别名$b,也就是将$b绑定到变量值上,$a与$b是一回事。改变$原创 2016-01-23 13:51:58 · 479 阅读 · 0 评论 -
[总结]PHP字符串处理
一、字符串的特点1.可以将字符串看做数组,但不是数组,不能使用数组处理函数来处理字符串。但是可以如下使用:<?php header("content-type:text/html;charset=utf-8"); $str="abcde"; echo $str{1};//输出b 注意 {}2.字符与字符编码的转换chr()将字符编码转换成字符ord()将字符转换成字符原创 2016-01-24 13:27:54 · 332 阅读 · 0 评论 -
[总结]PHP数组
一、数组的分类分为关联数组和索引数组两类。 关联数组即是以字符串为下标的数组; 索引数组即是以数字为下标的数组。二、数组的声明声明数组有两种方式 1、直接声明使用 2、使用array语言结构声明(注意,array是语言结构)。三、数组的遍历 1、使用for循环遍历数组,但是这种遍历只能遍历索引数组,并且效率不如foreach效率高,使用较少。 2、使用foreach遍历数组原创 2016-01-25 17:02:07 · 340 阅读 · 0 评论 -
Session与Cookie
CookieCookie是保存在客户端的文件—小甜饼 当用户请求服务器的时候,服务器可以选择向浏览器写入Cookie文件。然后,当用户再次请求服务器的时候,就会携带Cookie数据访问服务器,这样就可以辨别出是哪个用户了。SessionSession是保存在服务器端的文件。 服务器有自己的一套机制,当浏览器访问服务器的时候,服务器会生成一个唯一的SessionId返回给浏览器,浏览器将Sessi原创 2016-02-26 11:03:46 · 346 阅读 · 0 评论