Welcome 微信登录

首页 / 网页编程 / PHP

PHP基础学习之流程控制的实现分析

PHP基础学习之流程控制的实现分析

PHP 有三大流程控制:顺序控制,分支控制,循环控制。1、顺序控制:就是程序按顺序从上往下一步一步的执行。2、分支控制:程序有选择的执行。又分单分支,多分支,多重分支。a、单分支:基本语法结构:if(条件表达式){ 语句; //.....;} 提示:条件表达式不管有多复杂,最终就是true或者false;eg:a=11;if(a>10){ echo "a>10";}b、多分支:基本语法:if(条件表达式){ 语句; //.....;}...
基于php上传图片重命名的6种解决方法的详细介绍

基于php上传图片重命名的6种解决方法的详细介绍

一,适用场景:无法使用从数据库中返回的自增长数字,给上传图片重命名。这是图片或文件上传的流程决定的。一般图片上传处理过程是,先上传图片到服务器,重命名之后,插入到数据库。也就是说,在数据库中非常容易获得的自增长id,无法用于给上传的图片重命名,来避免文件名称的重复,而采用从数据库中获取最大id加1的方式,增加了数据库连接的次数,不适用于高并发和数据量巨大的情况;二,常规方案:1,guid:32 字符十六进制数。格式:GUID 的格式为“xxxxxxxx-x...
基于curl数据采集之单页面采集函数get_html的使用

基于curl数据采集之单页面采集函数get_html的使用

这是一个系列 没办法在一两天写完 所以一篇一篇的发布大致大纲:1.curl数据采集系列之单页面采集函数get_html2.curl数据采集系列之多页面并行采集函数get_htmls3.curl数据采集系列之正则处理函数get _matches4.curl数据采集系列之代码分离5.curl数据采集系列之并行逻辑控制函数web_spider单页面采集在数据采集过程中是最常用的一个功能 有时在服务器访问限制的情况下 只能使用这种采集方式 慢 但是可以简单的控制 ...
基于curl数据采集之单页面并行采集函数get_htmls的使用

基于curl数据采集之单页面并行采集函数get_htmls的使用

用第一篇的get_html()实现简单的数据采集,由于是一个一个执行才采集数据的传输时间就会是所有页面下载的总时长,一个页面假设1秒,那么10个页面就是10秒了。所幸curl还提供了并行处理的功能。要写一个并行采集的函数,先要了解要采集什么样的页面,对采集的页面用什么请求,才能写出一个相对常用的函数。 功能需求分析:返回什么? 当然每一个页面的html集合成的数组传递什么参数? 编写get_html()时,我们知道了可以用options数组来传递更多的cu...
基于curl数据采集之正则处理函数get_matches的使用

基于curl数据采集之正则处理函数get_matches的使用

根据前两篇的博文:基于curl数据采集之单页面采集函数get_html的使用基于curl数据采集之单页面并行采集函数get_htmls的使用 已经可以得到了我们需要的html文件,现在需要处理得到的文件获取到我们需要的采集的数据。对于html文档的解析,没有像XML那样的解析类,因为HTML文档有很多不成对的标签,很不严格。这个时候就需要采用其他的一些辅助类了,simplehtmldom是一个类似于JQuery方式操作HTML文档的解析类。可以很方便的得到...
PHP5中Cookie与 Session使用详解

PHP5中Cookie与 Session使用详解

1、Cookie和Session简介与区别在非常多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采用Cookie与 Session来跟踪和判断。区别Session信息是存放在server端,但session id是存放在client cookie的,当然php的session存放方法是多样化的,这样就算禁用cookie一样可以跟踪Cookie是完全保持在客户端的如:IE fi...
PHP闭包(Closure)使用详解

PHP闭包(Closure)使用详解

不知不觉发现PHP已经出到了5.5版本,而自己一直在用PHP5.2,让我看起来像深山出来的小伙子一样,又土又落后。在我习惯在javascript中使用闭包之后,忽然间对PHP的闭包打起了兴趣。于是乎在网上下了个WAMP集成开发环境,是PHP5.3版本的(PHP5.3开始引入了闭包的特性),不得不说WAMP安装使用真的很方便。简单配置了一下,开始动手。匿名函数提到闭包就不得不想起匿名函数,也叫闭包函数(closures),貌似PHP闭包实现主要就是靠它。声明...
PHP执行批量mysql语句的解决方法

PHP执行批量mysql语句的解决方法

当有多条mysql语句连起来需要执行,比如$sqls= “insert table a values(1,2); insert table a values(2,3);”需要执行的话php中可以使用的方法有三个:mysql_querypdomysqli三种方法当sqls语句没有问题的时候都是可以的。但是当sql语句是错误的时候会出现问题第一条sql错误:三个方法都返回false第一条sql正确,第二条sql错误:mysql_query、pdo、 mysql...
基于MySQL分区性能的详细介绍

基于MySQL分区性能的详细介绍

一, 分区概念分区允许根据指定的规则,跨文件系统分配单个表的多个部分。表的不同部分在不同的位置被存储为单独的表。MySQL从5.1.3开始支持Partition。分区和手动分表对比手动分表分区多张数据表一张数据表重复数据的风险没有数据重复的风险写入多张表写入一张表没有统一的约束限制强制的约束限制MySQL支持RANGE,LIST,HASH,KEY分区类型,其中以RANGE最为常用:Range(范围)–这种模式允许将数据划分不同范围。例如可以将一个表通过年份...
PHP静态调用非静态方法的应用分析

PHP静态调用非静态方法的应用分析

静态调用非静态方法!!这在java,c#中是不可想象的,也是绝对不行的。这样的错误在这些语言中会在编译阶段就被指出错误的。但是对于php这样的动态语言呢?首先这个是语法没有错误的,php –l 找不出错误来的。如果运行呢?先看一个例子复制代码 代码如下:<?php class myClass { private $name = "myClass"; public function echoName(){ echo $this->name;...
基于Zend的Captcha机制的应用

基于Zend的Captcha机制的应用

如何生成验证码图片?使用php的GD? ok,right。其实Zend的Captcha模块已经封装好了。这篇文章就说一下如何使用Zend的Captcha模块。环境安装首先Zend的Captcha需要安装GD。查看有没有安装GD需要去phpinfo()中看是否有GD模块。(注意,有可能出现php -m里面的模块有gd但phpInfo()里面的模块没有gd,这个问题是说明你的PHP和Apache没有安装对。具体请去google之)(如果在安装gd的过程中提示M...
Zend的Registry机制的使用说明

Zend的Registry机制的使用说明

项目过程中有很多全局变量, 需要全局存储,是否是使用全局变量来进行存储?那就弱爆了。Zend使用Registry机制(注册表)存储对象和值,是一个存储对象和值的容器。Zend_Registry这个类就是做这个目的代码示例Zend_Registry::set("config", $config); Zend_Registry::get("config");代码分析这两个函数是最常用的两个函数。我们来看一下这个类class Zend_Registry exte...
关于尾递归的使用详解

关于尾递归的使用详解

这几天看到几篇关于尾递归的文章,之前对尾递归没有多大概念,所以回头研究了一下尾递归。尾递归的概念尾递归(Tail Recursion)的概念是递归概念的一个子集。对于普通的递归,由于必须要记住递归的调用堆栈,由此产生的耗用是难以估量的。比如下文中php小节第一个例子使用php写一个阶乘函数,就是由于递归造成了栈溢出的错误。尾递归出现的目的就是消除递归栈耗损这个缺憾的。从代码层面看,尾递归其实一句话就可以说清楚了:函数的最后一个操作是递归调用比如"菲波纳锲"...
<< 291 292 293 294 295 296 297 298 299 300 >>