随笔分类 -  php

摘要:概述cURL是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。PHP提供了对cURL库的支持。linux下man一下curl,可以看到:开启cURL设置安装php的cURL库扩展sudo apt-get install curl libcurl3 libcurl3-dev php5-curl重启php的解释程序sudo /etc/init.d/php5-fpm restart其次,我们需要通过php_info()函数来确定是否开启了这个库<?php phpinfo();网页验证输出PHP的cURL请求基本步骤初始化设置选项执行并获取结果释放 阅读全文
posted @ 2013-05-21 12:39 java程序员填空 阅读(350) 评论(0) 推荐(0)
摘要:前言今天完成一个算法的过程中,有几个需求模块,其中就有判断$a数组是否是$b数组的子集,可能最近我写c比较多,直接就用for循环实现了,但是感觉代码量比较大,不够优雅!在qq群里集思广益了一下,发现很多php提供的系统功能函数都是可以供调用的,这里记录一下需求最少的时间复杂度判断$a数组是否是$b数组的子集// 快速的判断$a数组是否是$b数组的子集 $a = array(135,138); $b = array(135,138,137);实现方法这里介绍三种方法,思路其实是相同的,差别在于实现的代码上for循环遍历$flag = 1; foreach ($a as $va) { if... 阅读全文
posted @ 2013-05-08 08:14 java程序员填空 阅读(561) 评论(0) 推荐(0)
摘要:Unicode起源与发展Unicode是为了解决传统的字符编码方案的局限而产生的,例如ISO 8859所定义的字符虽然在不同的国家中广泛地使用,可是在不同国家间却经常出现不兼容的情况。很多传统的编码方式都有一个共同的问题,即容许电脑处理双语环境(通常使用拉丁字母以及其本地语言),但却无法同时支持多语言环境(指可同时处理多种语言混合的情况)在文字处理方面,统一码为每一个字符而非字形定义唯一的代码(即一个整数)。换句话说,统一码以一种抽象的方式(即数字)来处理字符,并将视觉上的演绎工作(例如字体大小,外观形状,字体形态,文体等)留给其他软件来处理,例如网页浏览器或者是文字处理器目前,几乎所有电脑系 阅读全文
posted @ 2013-04-07 18:24 java程序员填空 阅读(151) 评论(0) 推荐(0)
摘要:疑问首选,给出一个php的示例代码,如果你完全明白为什么会出现如下结果,就不需要再在这篇博客浪费时间了,这里是让php初学者注意一下可能会犯的错误<?php var_dump("abcdefg" == "0"); // bool(false) var_dump("abdsafd" == 0); // bool(true)如果你不是太清楚上面的结果,那就跟着博客继续学习下去吧!比较运算符比较运算符,如同它们名称所暗示的,允许对两个值进行比较。比较运算符例子名称结果$a == $b等于TRUE,如果$a等于$b$a === $b全等 阅读全文
posted @ 2013-03-27 11:32 java程序员填空 阅读(181) 评论(0) 推荐(0)
摘要:需求今天做日志分析时,由于日志是按天分割的,我需要遍历30天的日志,如果获得类似20130101-20130131这样的数组后缀呢,写了个小程序实现了一下,这里记录一下,主要是date函数和strtotime函数的应用php实现代码<? $stand = "2013-01-"; for ($i = 1; $i <= 31; $i ++) { $time = strtotime($stand . $i); $date[] = date("Ymd", $time); } print_r($date); ?>实现效果date函数获取前一天或后 阅读全文
posted @ 2013-01-31 10:44 java程序员填空 阅读(189) 评论(0) 推荐(0)
摘要:nginx日志格式access_log日志格式log_format main '$server_name$remote_addr$remote_user[$time_local]"$request"' '$status$body_bytes_sent"$http_referer"' '"$http_user_agent""$http_x_forwarded_for"'; 日志参数server_name : 虚拟主机的主机名称 remote_addr : 阅读全文
posted @ 2013-01-30 15:05 java程序员填空 阅读(667) 评论(0) 推荐(0)
摘要:前言这篇博客的需求是我需要将一个http请求例如127.0.0.1?a=123&b=456&c=789将所有的get参数取出来拼串到test.com后面,也就是最后理想的uri应该是test.com?a=123&b=456&c=789两种方法可以实现,建议做之前先google,我就是没有google导致返工$_SERVER["QUERY_STRING"]简介这是最简单的方法,可是大部分人可能不会太熟悉这个服务器变量,解释一下$_SERVER["QUERY_STRING"] : 查询的字符串代码$base = "t 阅读全文
posted @ 2013-01-29 11:04 java程序员填空 阅读(240) 评论(0) 推荐(0)
摘要:前言快年假了,最近想多做些工作上的事情,帮助导师的公司度过难关吧,故而算法的文章会减少很多,可能会记录一些工作上的收获。今天查询数据库的时候感觉脚本执行时间挺久,写了个function计算php脚本的执行时间,记录一下吧microtime计算脚本执行时间 /** * Description:计算当前时间 * * @return float */ function getCurrentTime () { list ($msec, $sec) = explode(" ", microtime()); r... 阅读全文
posted @ 2013-01-14 22:11 java程序员填空 阅读(162) 评论(0) 推荐(0)
摘要:前言将架构从apache+mod_php迁移到nginx+fpm上,会发现如果php脚本出错,nginx的eror_log里不会有记录,只在access_log里记录了500状态码。出现的原因:nginx将php的脚本执行通过fastcgi转到fpm上,所以出错的信息当然不会记录在nginx的error_log里了,但是对于测试环境下程序员的调试这是个悲剧啊,所以我们需要配置fpm的错误日志nginx+fastcgi+fpm配置见:http://blog.csdn.net/zinss26914/article/details/8175385php5-fpm.confphp5-fpm的错误日志是 阅读全文
posted @ 2013-01-09 18:57 java程序员填空 阅读(505) 评论(0) 推荐(0)
摘要:前言介绍一种比较高端检测上传文件类型的方法,可以防止后缀名修改等低端的检测错误,有耐心的同学可以参考一下,我会封装成类供调用MIME类型在把输出结果传送到浏览器上的时候,浏览器必须启动适当的应用程序来处理这个输出文档。这可以通过多种类型MIME(multipurpose internet mail extensions)来完成。在http中,MIME类型被定义在content-type header中。例如,如果客户端上传一个excel文件到服务器上,那么这是的mime类型就是“application/vnd.ms-excel”。在php中,可以通过$_FILE["type" 阅读全文
posted @ 2012-12-21 17:43 java程序员填空 阅读(754) 评论(0) 推荐(0)
摘要:前言php可以模拟浏览器向SAPI发送HTTP请求,但是前提是需要安装和使用HTTP扩展Ubuntu10.04安装http扩展安装libcurl3-openssl-dev(前提安装好pecl)sudo apt-get install libcurl4-openssl-dev sudo apt-get install libmagic-dev安装peclpecl是用来编译php扩展源文件的工具,该工具是在pear包中发布的,安装方法:sudo apt-get install php-pear安装phpizesudo apt-get install php5-dev安装http扩展sudo pec 阅读全文
posted @ 2012-12-13 17:50 java程序员填空 阅读(463) 评论(0) 推荐(0)
摘要:各位redis群的同学,帮忙查看指正一下代码,多谢了,希望看到各位的改进意见<?php class Singleton { // MYSQL数据库连接信息 const MYSQLHOSTNAME = "127.0.0.1"; const MYSQLCHARSET = "utf8"; private static $instances = array(); //伪类单例 private $db; //数据库连接句柄 /** * Description:私有化构造函数,防止外界实例化对象 */ private function __construct( 阅读全文
posted @ 2012-10-23 21:38 java程序员填空 阅读(164) 评论(0) 推荐(0)
摘要:单例模式概念单例模式是指整个应用中类只有一个对象实例的设计模式。单例模式的特点一个类在整个应用中只有一个实例类必须自行创建这个实例必须自行向整个系统提供这个实例php中使用单例模式的原因我用php大部分操作都是和各种数据库打交道,包括mysql,redis,memcache等各种关系型和非关系型数据库,所以一个应用中会存在大量连接数据库的操作,如果不用单例模式,那每次都要new操作,但是每次new都会消耗大量的内存资源和系统资源,而且每次打开和关闭数据库连接都是对数据库的一种极大考验和浪费。贴出我之前常用的不好的数据库连接代码,给大家一个错误示范:<?php class MysqlCon 阅读全文
posted @ 2012-10-23 21:06 java程序员填空 阅读(179) 评论(0) 推荐(0)
摘要:反射的理解它是指在php的运行状态中,扩展分析php程序,导出或者提取出关于类、方法、属性、参数等详细信息,甚至包括注释。这种动态获取的信息以及动态调用对象的方法的功能称为反射API。反射是操纵面向对象模型中元模型的API,其功能十分强大,可以帮助我们构建复杂,可扩展的应用。(ps:包括在工厂模式中的使用)反射API是php内建的oop技术扩展,包括一些类、异常和接口,综合使用他们可用来帮助我们分析其它类,接口,方法,属性和扩展。这些oop扩展被称为反射。ReflectionClass<?php class ReflectionClass implements Reflector { f 阅读全文
posted @ 2012-10-23 15:10 java程序员填空 阅读(153) 评论(0) 推荐(0)
摘要:起因好吧,我承认最近我跟快速排序干上了,各种测试编写快速排序程序,现在就用php实现快速排序,跟之前文章不同,这次php的快排是能解决实际需要的.下面的文章里我会用c语言的思想提出两种php快速排序的解决方案:自己实现快速排序,用分治和归并的思想调用系统的usort,类似于c的qsort,感谢dickeylth的提醒使用环境和条件有这样一种情况,php里面的关联数组,如果下面这样的数组数据:$array = array ( array ( 'name' => "xiao", 'age' => 3 ), array ( 'n 阅读全文
posted @ 2012-10-09 13:33 java程序员填空 阅读(246) 评论(0) 推荐(0)