PHP
沙漠行走的野骆驼
厚积薄发
展开
-
PHP FTP上传文件
第一步:建立一个新的 FTP 连接。 ftp_connect(host,port,timeout); host必需,规定要连接的 FTP 服务器,可以是域名或 IP 地址,后面不应以斜线结尾,前面也不需要用 ftp:// 开头。 port可选,规定 FTP 服务器的端口。 timeout可选,规定该 FTP 服务器的超时时间,默认是 90 秒。 返原创 2013-04-09 17:29:16 · 3134 阅读 · 0 评论 -
jQuery ajax跨域异步请求
有时候我们会遇到跨域异步请求,比如统计一个静态站的访问量,有的人认为javascript是不能跨域的,其实不然,jQuery就可以跨域,下面是对jQuery.ajax跨域使用的一个简单介绍。先看一段javascript代码:jQuery.ajax({ url:'http://cms.juren.com.cn/?action=news!click', dataType:'原创 2013-04-09 17:28:06 · 858 阅读 · 0 评论 -
php 二维数组排序
function array_sort($array, $key, $sort = 'desc'){ $tmpArray = $resultArray = array(); foreach ($array as $k => $v){ $tmpArray[$k] = $v["$key"]; } strtolower($sort) == 'as原创 2013-04-09 17:27:19 · 676 阅读 · 0 评论 -
PHPMailer简单使用说明
/** * PHPMailer发送邮件 * @param $mails 接收邮件账号 * @param $title 邮件标题 * @param $content 邮件内容 */public function phpMailerSend($mail, $title, $content){ //设置程序执行时间 set_time_limit(P原创 2013-04-09 17:15:02 · 911 阅读 · 0 评论 -
PHP中关于数组的函数
(1)sort/asort/ksort(&$array)共同点:三个函数都是引用传值,对数组进行升序排序,成功返回true,失败返回false。不同点:sort按数组中的值进行排序,为数组中的元素赋予新的键名,原有的键名将被删除,例如: $test = array('c' => 'c', 'a', 'b'); sort($test);转载 2013-04-09 17:14:27 · 606 阅读 · 0 评论 -
INSERT INTO SELECT和SELECT INTO两种表复制语句
一、INSERT INTO SELECT语句语句形式为:insert into Table2(field1,field2,...) select value1,value2,... from Table1;要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量,示例如下:1、创建测试表create TABLE Tab转载 2013-04-09 17:13:06 · 597 阅读 · 0 评论 -
jQuery each 用法
var obj={one:1,two:2,three:3};$.each(obj,function(index,content){ alert(index);//索引 one two three alert(content);//值 1 2 3});123$(“p”).each(function(index){ alert(index);转载 2013-04-09 17:36:19 · 658 阅读 · 0 评论 -
php PHPExcel应用
require_once 'Classes/PHPExcel.php';$objPHPExcel = new PHPExcel();//创建人$objPHPExcel->getProperties()->setCreator('wangjunjie');//最后修改人$objPHPExcel->getProperties()->setLastModifiedBy('原创 2013-04-09 17:32:26 · 2639 阅读 · 0 评论 -
标题中含有关键字的数据显示到前面,内容中含有关键字的数据显示到后面
项目中我们经常会遇到根据关键字从文章的标题和内容搜索这样的需求,搜索的结果标题中含有关键字的数据要排在前面,内容含有关键字的数据排在后面,本文实现了一种方式。function getData($page, $key){ $limit = 20; $start = (intval($page) - 1) * $limit; $titleSql = "select *原创 2013-04-09 17:28:40 · 732 阅读 · 0 评论 -
PHP 写入txt文件换行
今天遇到一个问题,就是写文件用\r\n不能换行,试了很久都不行,网上查了一下知道是怎么回事了。file_put_contents('test.txt',"hello\r\n你妈好");file_put_contents('test.txt',"hello" . "\r\n" . "妈你好");//这样写也可以注意:代码里面不要用单引号,我就是错在用单引号了,如果用单引号输出的将是\转载 2013-04-09 17:30:01 · 735 阅读 · 0 评论 -
php 单例模式
首先我们要知道明确单例模式这个概念,那么什么是单例模式呢?单例模式顾名思义,就是只有一个实例。作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类我们称之为单例类。单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。下面我们讨论下为什么要使用PHP单例模式?原创 2013-04-09 17:30:45 · 570 阅读 · 0 评论 -
php 获取参数的信息
php中func_num_args、func_get_arg和func_get_args都是返回函数实参信息相关的函数。func_num_args() 返回的是当前函数的参数数量,是数字。func_get_arg() 返回的是指定位置的参数的值,该函数的本身参数是一个数字索引,从0开始。func_get_args() 返回的是包含当前函数所有参数的一个索引数组,数组中值的顺序就是传入参原创 2013-04-09 17:31:12 · 4192 阅读 · 0 评论 -
php上传文件类型判断
1.先讲下php文件上传该注意哪些安全问题吧 文件类型mime和后缀名判断 (可能会被用户恶意修改) 文件一定要重命名 文件存放目录不应用可执行权限 文件大小的控制.2.说说这个文件类型的判断 根据后缀名判断:大家都知道,不是很准确,可能会被用户恶意修改 比较有效的方法就是判断文件的二进原创 2014-07-16 17:33:34 · 1270 阅读 · 1 评论 -
php mb_substr 函数
大家应该都很了解原创 2013-11-06 11:47:45 · 1355 阅读 · 2 评论 -
php Iterator 接口详解
大家都知道,数组是可以使用foreach 循环的,我们也可以把一个对象当做数组,做循环操作。1、对象继承 Iterator 接口<?php class MyIterator implements Iterator{ private $_d = array('a','b','c','d'); private $_p = 0; public function __co原创 2013-11-05 10:50:17 · 5303 阅读 · 0 评论 -
检测文件是否有BOM头并去除BOM头
大家在使用notePadd++ 或者 EditPlus 打开文件时,经常因为编码问题,导致乱码,尤其是UTF-8的BOM头,下面就提供一个方法检测并去除BOM头。仅供参考。……<?php/** * 本函数用于检测文件是否含有BOM头 * * @param string $filename 要检测的文件名称 * @return boolean */ function che原创 2013-11-01 17:54:36 · 6381 阅读 · 0 评论 -
文件上传大小
1、在工作中处理问题的时候遇到一个问题,文件超过4M时,程序不能获得文件的大小(获得时候显示为0) 查找原因后,总结了一下几方面:1、post_max_size 的大小 ,post传输数据时限制的大小。2、upload_max_filesize 的大小,文件上传时限制的大小3、max_execution_time php脚本执行时间一般post_max_size 要比原创 2013-05-06 10:03:58 · 695 阅读 · 0 评论 -
curl自动登录CNZZ获得数据(数据采集)
/** * @author Leiming Wang *//* * curl请求 * @param string $url * @param array $option * @return mixed $return; */function CurlRequest($url,$options){ $return = false;原创 2013-05-18 08:09:02 · 1950 阅读 · 0 评论 -
javascript 阻止事件冒泡
javascript阻止事件冒泡方式一:event.stopPropagation(); $(“#div1″).mousedown(function(event){ event.stopPropagation(); });方式二:return false; $转载 2013-04-09 17:37:04 · 512 阅读 · 0 评论 -
linux下svn命令大全
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下所有的ph转载 2013-04-09 17:33:51 · 528 阅读 · 0 评论 -
PHP COOKIE及时生效的方法
通常,php里要浏览器刷一下才能出现cookie,怎么才能让cookie及时生效呢,下面分享一个让cookie及时生效的一个方法,很实用,代码如下:/** * 设置cookie * @param string $name 键名 * @param mixed $value 值 * @param int $expire 过期时间,默认是一天 */public final原创 2013-04-09 17:13:44 · 617 阅读 · 0 评论 -
分苹果的问题
我面试的时候遇到这样一道题:现在有1000个苹果,要把他们分到10个篮子里面,如何分,才能使得当我们取得任意个苹果(1--1000)的时候,只取其中的一个篮子或者几个篮子,篮子中的苹果总数正好是所需的数量。本人的方法:function splits(){ $j = 0; $a = range(1, 1000); $b = ar原创 2013-03-15 11:37:24 · 722 阅读 · 0 评论 -
PHP中$_SERVER的浅析
$_SERVER['PHP_SELF'] 当前正在执行脚本的文件名,与 document root相关。$_SERVER['argv'] 传递给该脚本的参数。 $_SERVER['argc'] 包含传递给程序的命令行参数的个数(如果运行在命令行模式)。 $_SERVER['GATEWAY_INTERFACE'] 服务器使用的 CGI 规范的版本。例如,“CGI/1.1”转载 2013-01-07 09:53:00 · 337 阅读 · 0 评论 -
借助第三方插件(有道)通过ip获取用户所在的地理位置
/** * 根据ip获取地址 * @param string $ip */ public function get_address_from_ip($ip){ $url = 'http://www.youdao.com/smartresult-xml/search.s?type=ip&q='; $xml = file原创 2012-11-06 13:11:55 · 716 阅读 · 0 评论 -
url链接(<a href=>hefr参数的赋值</a>)
设置某一个超链接的路径1、必须以http://或者https://开头。这样当在页面上进行访问时,才是指定的超链接。2、如果设置的没有使用http://或者https://开头,那么在访问时,则会将当前链接字符串与当前地址栏中的链接进行拼接,形成实际的超链接。原创 2012-11-05 13:01:07 · 1063 阅读 · 0 评论 -
创建目录(mkdir)小叙
file_put_contents ( string $filename ,string $data [, int $flags [, resource$context ]] );对于$filename:1、如果只是一个文件名(不包括目录或者包括目录且目录存在),如果该文件不存在,则可以自动创建该文件。2、如果包含了目录且目录不存在,则会写入错误。不会自动创建目录。原创 2012-10-25 17:43:38 · 607 阅读 · 0 评论 -
php header()函数循环重定向错误
循环重定向错误:就是无限循环请求一个地址。1、我的情况是这样的 我的程序是单一入口,每次都要判断用户是否登录,没有登录就去请求登陆页。这样就会遇到一个问题。请求登陆页的时候还是走这一个入口,还是去判断是否登录.这样就造成了无限循环的请求(重定向)。在判断的时候过滤掉登录页面请求这个动作就可以了。原创 2012-10-11 09:25:07 · 1428 阅读 · 0 评论 -
php中的header()函数
1 重定向功能,这种最常见 Header("Location: http://www.php.net"); //注意:Location:后面有一空格. ?> 2 强制用户每次访问这个页面时获取最新资料,而不是使用存在客户端的缓存。 //告诉浏览器此页面的过期时间(原创 2012-05-09 13:39:16 · 375 阅读 · 0 评论 -
php header()函数重定向错误
1、使用该函数前不能有任何的输出:这里的输出包括:PHP的输出语句,例如print、echo 等,如果有HTML出是不行的,连PHP的错误提示和警告信息 都不行,还有注意在开始不要有空格或者换行,否则这些也当成html代码输出,header就失效了.2、有也可以,不过要打开输出缓冲区,ob_start().原创 2012-10-11 08:59:55 · 635 阅读 · 0 评论 -
目录分隔符
1、在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符。在其它环境下是斜线(/)。2、程序中一般用’DIRECTORY_SEPARATOR‘动态选择分隔符原创 2012-10-09 16:50:23 · 1135 阅读 · 0 评论 -
win32环境下配置使用php_fileinfo.dll
1、网上下载php_fileinfo.dll文件(http://www.dllzj.com/)。如果你使用的是xampp的话,则不用自己下载,xampp里面已经集成了这个东西。2、到sourceforge.net下载file程序(file程序是GNUWin32 Project的程序之一),地址是:http://sourceforge.net/projects/gnuwin32/files/fi原创 2012-10-09 15:34:43 · 7342 阅读 · 1 评论 -
邮件阅读总数统计小技巧
项目中不乏对邮件阅读总数的统计,本文就介绍一种简单的方法,来统计邮件的阅读总数。邮件是有邮件内容的,可以在邮件内容中加上这样的一段内容,如下:给邮件内容拼接一个img标记,src是统计阅读总数方法的地址和参数,(自己设置地址)style设置这个图片不可见。这样用户在打开邮件的时候img的src就会访问统计阅读总数的方法,在方法中写自己的业务逻辑就可以实现统计。经过测试ie下是不原创 2012-11-06 13:14:37 · 1662 阅读 · 0 评论 -
RSS订阅 让你的博客集成RSS功能
如今Web编程的门槛变低了,越来越多的人想手写一个博客(例如本博客就是自己写的),因为这样不仅是对自己的一项锻炼。另外,用着自己写的东西,心里还是蛮舒服的自己写的博客功能上刚开始会很弱的,比如说高扩展性,主题多变性,稳定性,更新升级便捷性等。不过,只要自己慢慢的去完善这些功能。也许哪一天,你的博客可以超越wordpress也不是不可能的。这些功能中,有一个比较重要的叫做RSS订阅的功能,他转载 2012-11-06 13:20:29 · 525 阅读 · 0 评论 -
PHP 中$_FILES的使用及注意事项
$_FILES:经由 HTTP POST 文件上传而提交至脚本的变量,类似于旧数组$HTTP_POST_FILES 数组(依然有效,但反对使用)详细信息可参阅 POST方法上传$_FILES数组内容如下:$_FILES['myFile']['name'] 客户端文件的原名称 $_FILES['myFile']['type'] 文件的 MIME类型,需要浏览器提供该信息的支原创 2012-11-06 13:21:17 · 587 阅读 · 0 评论 -
htm与html的一点区别
这是我在实际项目中遇到的一个问题:程序是单一的入口,如果想调用里面的静态文件,则静态文件应该以.htm结尾,而不是.html。如果是html则会走程序的入口而报错。原创 2013-01-07 09:48:36 · 378 阅读 · 0 评论 -
global 浅析
请先看一下两个函数function test_global($b){global $a;$a = $b;echo $a.":";}function test(){global $a;echo $a;}test_global(5);test();以上函数输出应该为5 : 5,如果test_global中改为 $a = &$b;则原创 2013-01-07 09:44:30 · 327 阅读 · 0 评论 -
discuzx2 附件做cdn
1、为提高公司论坛的性能,公司决定做论坛附件的cdn2、上传附件:通过ftp的方式上传附件,如果想直接跨域上传附件,我觉得会很困难的,目前本人尚没有方法做到跨域上传附件。3、本公司只是为data重新指定了一个域名,所以上传不影响。4、php header函数下载东西,最重要的就是文件的路径名和文件的大小。开始我想使用file_put_content()函数来获得,但是没有成功,还有di原创 2012-11-27 17:40:02 · 1025 阅读 · 0 评论 -
【转】php获取服务器操作系统等信息
下面是PHP获取当前服务器信息的基本语句。PHP程式版本: ZEND版本: MYSQL支持: MySQL数据库持续连接 : MySQL最大连接数: 服务器操作系统: 服务器端信息: 最大上传限制: 最 大执行时间: 脚本运行占用最大内存: 查询当前连接的MYSQL数据库的版本 php自带函数 mysql_get_server_info() 获转载 2012-11-27 17:23:18 · 3000 阅读 · 0 评论 -
php $_SERVER windows系统与linux系统下的区别
这是我在做企业站的过程中发现的一些区别:(仅供参考)一、$_SERVER['SERVER_NAME'] 在windows系统下,末尾是有 / 的,linux下没有/ 。 可用以下方法处理 1、不论是那种系统直接全部加上 / 然后在进行替换 ,切记 ,应如此替换 str_replace('\\', '/', $fileUrl); 才可以。 2、判断是那种操作系统,使用PHP_OS,然后原创 2012-11-27 16:57:49 · 551 阅读 · 0 评论 -
关于投票ip限制的一种手段
项目中有这样的一个功能,截图如下:1、不用多说大家都应该明白这是一个什么样的功能,其实就是一个投票。2、要求是要限制用户的ip,一个用户只能投一次。3、用户第一次投票提示投票成功并且所支持方的票数要累计一,再次投票提示用户您已经投过了。4、页面在加载完以后如果用户投过票,所支持方是active状态,反对方是gray状态。经过分析,要获取用户的两个数据:ip和他支持方的标记,转载 2012-11-06 13:15:57 · 1011 阅读 · 1 评论