【设置编码】

header("Content-type:
text/html; charset=utf-8");

1. parse_url — 解析 URL,返回其组成部分

$ua=parse_url("http://username:password@hostname/path?arg=value#anchor");

Array ( [scheme] => http [host] =>
hostname [user] => username [pass] => password [path] => /path [query]
=> arg=value [fragment] => anchor )

2. PHP输出CSV和EXCEL两种简单的方法:

header("Content-type:application/vnd.ms-excel");

header("Content-Disposition:filename=php100.xls");

3.array_count_values() 函数用于统计数组中所有值出现的次数。

4.reset() 函数把数组的内部指针指向第一个元素,并返回这个元素的值。若失败,则返回 FALSE。

4.is_writable() 检查文件是否可写,用来判断文件权限,同类函数还有is_readable() 检查文件是否可读,返回布尔值

5.PHP中三个调用系统命令的函数system(), exec(), passthru() 比较:

system() 输出并返回最后一行shell结果。

    exec() 不输出结果,返回最后一行shell结果

    passthru() 只调用命令,把运行结果原样地输出

    new com()  系统预定义com类,根据需要任意选择内置方法

相同点:都可以获得命令执行的状态码

6.函数的使用说明:

①常规函数

bool copy ( string source, string dest
)

②带有mixed , mixed表示可以传任何类型的数据

bool chown ( string filename, mixed
user )

③带有&参数的函数,表示引用赋值,这个参数不能传值,只能传一个变量,然后函数将变量的值改变,我们在使用这个变量时,值也是变化的

bool arsort ( array &array [, int
sort_flags] )

④默认函数带有[]的函数, 表示这个参数是可选的,如果你传值了就使用你传的值,如果没有传值则使用默认值。直接在声明函数时,就为参数给初值。可选值和必须值,必须从后向前设置。

bool arsort ( array &array [, int
sort_flags] )

⑤带有...的参数函数, ...表示可以传任意多个参数

int array_unshift ( array &array,
mixed var [, mixed ...] )

⑥回调函数带有callback,  就是调用这个函数时需要我们传一个函数进来(函数名,函数名字串)

array array_filter ( array input [,
callback callback] )

7. 预定义数组:自动全局变量---超全局数组

$_GET       //经由URL请求提交至脚本的变量

$_POST      //经由HTTP
POST 方法提交到脚本的变量

$_REQUEST   //经由GET,
POST和COOKIE机制提交到脚本的变量,因此该数组并不值得信任,不去使用(尽量)

$_FILES     //经由HTTP
POST  文件上传而提交至脚本,文件处理一章,文件上传

$_COOKIE    //

$_SESSION   //

$_ENV       //执行环境提交至脚本的变量

$_SERVER    //变量由WEB服务器设定的,或直接和当前脚本的执行环境相关联

$GLOBALS    //只要是当前脚本有效的变量都在这里,数组键名为全局变量的名称

8.pow(x,y) 函数返回 x 的 y 次方。echo pow(6,2); //36

9.路径分隔符号DIRECTORY_SEPARATOR  为不同平台,在Windows \ Linux /

10.PHP中遍历stdclass object:$array = get_object_vars($test);  转换为数组后遍历

《多表查询》

$table="qg_ws_zu
a,qg_ws_ac b";

$field="a.id,a.total_money,a.hongbao_num";

$order="a.order_sort
desc,b.last_create_time_gid desc";

$map['a.is_del']=0;

$limit=(($_GET['page']-1)*$_GET['limit']).','.$_GET['limit'];

$list
= M('')->table($table)->field($field)->where($map)->order($order)->limit($limit)->select();

$sql_res
= M('')->getLastSql();


1.CSS控制页面文字不能复制:body{-webkit-user-select:none;}

1.PHP中遍历stdclass object:$array
= get_object_vars($test);  转换为数组后遍历

2. CSS控制页面文字不能复制:body{-webkit-user-select:none;}

2.【php过滤汉字和非汉字】<?php $sc="aaad....##--__i汉字过滤";
//iconv("UTF-8","GB2312",$sc);utf-8转码 echo
$temp=eregi_replace("[^\x80-\xff]","",$sc); //保留汉字(过滤非汉字) echo
$temp=preg_replace("/[\\x80-\\xff]/","",$sc); //保留非汉字(过滤汉字),注意两条反斜线 ?>



3.查询数据库中某个字段中用逗号分隔的字符串是否包含用户传递的某个值,这样写SQL语句:SELECT * FROM tb WHERE field LIKE '%,1' OR field LIKE '1,%' OR field
LIKE '%,1,%' OR field = '1' 查询结果见图。不知道是否有更简单的方法,目前这样可行。感谢学敏!





4.PHP上传文件获取后缀名:$temp_arr = explode(".",
$upload_file_name); $file_ext = array_pop($temp_arr); $file_ext =
trim($file_ext); $file_ext = strtolower($file_ext); //$file_ext 文件的后缀

5.PHP获取图片尺寸大小< ?php $arr=getimagesize("1.jpg"); echo
$arr[0]."< br/ >"; //the width echo $arr[1]; //the heigth? >

6.PHP:Deprecated: Function set_magic_quotes_runtime() is deprecated解决方案:php.ini 修改:error_reporting = E_ALL &
~E_NOTICE & ~E_DEPRECATED

7.echo $thisUrl=dirname('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']).'/../../';exit;

8.PHP 匹配多对中括号中的内容,如下:$string = "这是[3]def[25]我的[26]想说的话[wer3][as][41]正则匹配!";preg_match_all('/\[([a-z0-9]+)\]/', $string,
$matches);print_r($matches);

9.$qqContent='(页面内容)'; $pat = '/<div
class="allnum">.+?<\/div>/';
$str=str_replace("\r",
"",$qqContent);$str=str_replace("\n", "",$str);
preg_match_all($pat, $str, $res); 提取数字用:
preg_match_all('/\d+/', $res[0][0], $nums); print_r($nums[0][0]);得到结果。

10.PHP获取当前页面的所有超链接: $str = '(包含超链接的字符串)'; $pat =
'/<a(.*?)href="(.*?)"(.*?)>(.*?)<\/a>/i';
preg_match_all($pat, $str, $m); print_r($m); 其中$m[2]为超链接内容,$m[4]为超链接的标题。

11.Linux 解压tar.bz2方法:tar
-vxjf filename.tar.bz2 解压tar.gz 方法: tar zxvf filename.tar.gz 解压zip方法:unzip filename.zip

12.Linux 压缩当前目录下的文件夹:tar -zcvf common.tar.gz
common,此命令:压缩当前目录下的common文件夹

13.匹配图片路径:如果源代码中有空格,先去掉“\r”和"\n",然后再匹配。

$str=str_replace("\r", "",$content);
$str=str_replace("\n", "",$str);
$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/";
preg_match_all($pattern,$str,$match); print_r($match);

14.PHP中在远程路径(FTP)进行操作,比如创建文件夹:$remote="ftp://username:password@www.baidu.com/test/txt";mkdir($remote,
0777, true ); 意思即为:在baidu网站根目录创建目录 /test/txt...,其中username和password分别为当前网站的FTP登录账号和密码。

15.判断一个网络文件是否存在(兼容所有可能性):function checkRemoteFileExists($file) {return (bool)fopen($file,
'rb');}

16.PHP判断一个远程文件是否存在:$url = "http://url.cn/ERUKm9 ";$fileExists =
@file_get_contents($url, null, null, -1, 1) ? true : false;echo $fileExists; //返回1,就说明文件存在。

17.PHP匹配图片路径:preg_match_all("/<img.*src\s*=\s*[\"|\']?\s*([^>\"\'\s]*)/i",str_ireplace("\\","",$content,$arrs));$arrs[1][0]就是图片的路径!

18.$ch = curl_init();curl_setopt($ch, CURLOPT_URL,$userinfo);curl_setopt($ch,
CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,
false);curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1) ; $string= curl_exec($ch);
//file_put_contents('string.txt', $string);

19.PHP中读取https请求协议的网页内容,有时候file_get_contents()会出错,比如这样的:$userinfo ='https://...';可以使用如下方法:(见下条内容)

20.PHP正则匹配一对中括号内的内容为空:$ss="sdfghjfsd[url]88888888888888[/url]"; $ss =
preg_replace('/\[url\S*\[\/url\]/', '', $ss); echo $ss;

21.MySQL配置日志文件:在MySQL安装目录下my.ini里面找到[mysqld],给里面加入log="E:/mysql_log.txt",然后重启Apache,重启MySQL服务即可。

22.mysql获取上个月的当前时间:select
date_sub(now(),interval 1 month) ;获取上个月的第一天:select
date_sub(date_sub(date_format(now(),'%y-%m-%d 08:00:00'),interval extract( day
from now())-1 day),interval 1 month);

新增PHP经典笔记的更多相关文章

  1. JavaScript事件详解-Zepto的事件实现(二)【新增fastclick阅读笔记】

    正文 作者打字速度实在不咋地,源码部分就用图片代替了,都是截图,本文讲解的Zepto版本是1.2.0,在该版本中的event模块与1.1.6基本一致.此文的fastclick理解上在看过博客园各个大神 ...

  2. HTML5新增属性学习笔记

    1.form属性 表单内的从属元素,可以写在表单外部.可以通过指定元素的form属性来声明元素所属表单.form的属性值为表单的id. <form id="testForm" ...

  3. 快速学习html、css的经典笔记

    HTML语言剖析 Html简介-目录 全写: HyperText Mark-up Language  译名: 超文本标识语言  简释:一种为普通文件中某些字句加上标示的语言,其目的在于运用标签(tag ...

  4. C++语言学习——LRJ入门经典笔记

    1.scanf的输入格式,空格.TAB和回车符都是无关紧要,所以按Enter键并不意味着输入结束. 告诉程序输入结束的方式: 在windows下,输入完毕后先按Enter键,再按Ctrl+Z键,最后再 ...

  5. JavaScript 经典笔记

    JavaScript 是弱类型的语言,所以编译器不能检测出类型错误. JavaScript 依赖于全局变量来进行链接.所有编译单元的所有顶级变量被撮合到一个被称为全局对象(the global obj ...

  6. 对IIS7经典模式和集成模式的理解(转载)

    从IIS6新增应用程序池的概念,到现在IIS7,对HTTP请求处理功能已经越来越精确化和不断改善,IIS7应用程序池新增了经典模式和集成模式可供选择,不管官方还是一些书籍或文章都有介绍,但多数过于官方 ...

  7. IIS7应用程序池集成和经典的区别 对IIS7经典模式和集成模式的理解 程序池经典和集成的区别

    IIS7应用程序池集成和经典的区别   IIS7应用程序池集成和经典的区别 IIS7应用程序池有集成和经典两种模式,根据微软官方的介绍, 集成模式,如果托管应用程序在采用集成模式的应用程序池中运行,服 ...

  8. asp.net资料! (.NET) (ASP.NET)

    使用SqlBulkCopy类加载其他源数据到SQL表 在数据回发时,维护ASP.NET Tree控件的位置 vagerent的vs2005网站开发技巧 ASP.NET2.0小技巧--内部控件权限的实现 ...

  9. Appium基于Python unittest自动化测试 & 自动化测试框架 -- PO并生成html测试报告

    基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unitt ...

随机推荐

  1. Java遇见HTML——JSP篇之JSP内置对象(下)

    一.什么是session 1.session表示客户端与服务器的一次会话2.Web中的session指:用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间 ...

  2. autorelease基本概念

    // //  main.m //  01-autorelease基本概念 // //  Created by apple on 14-3-18. //  Copyright (c) 2014年 app ...

  3. HBase -- 基于HDFS的开源分布式NoSQL数据库

    HBase(Hadoop Database)是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,我们可以利用HBase技术在廉价的PC上搭建起大规模结构化存储集群.同Google的Bigtable ...

  4. OTG 接口烧写最小Linux的方法

    通过该方式可以烧写Android4.0.3 系统和Linux-QT 系统. 需要准备一根OTG 线,绝大多数智能手机和PC 机相连接的线都是OTG线,都是通用的. 这种方式比TF卡烧写方式要快一些,我 ...

  5. jquery 操作select

    jQuery("#select_id").change(function(){}); // 1.为Select添加事件,当选择其中一项时触发 var checkValue = jQ ...

  6. 从零开始PHP攻略(2)——操作符与迭代整理

    目录: 10.操作符整理 11.表单计算代码 12.优先级与结合性 13.可变函数 14.条件判断 15.循环迭代 16.跳出控制 17.可替换的控制结构 10.操作符 10.1 算术操作符 算术操作 ...

  7. 6.理解DispatcherServlet

    DispatcherServlet的作用 DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,负责职责的分派, 且与Spring IoC容器无缝 ...

  8. c++ DISALLOW_COPY_AND_ASSIGN

    Google C++编程规范 – 第三十二条 -<拷贝构造函数> [规范] 仅在确认需要的时候,才定义拷贝构造函数和赋值运算符:否则,请使用DISALLOW_COPY_AND_ASSIGN ...

  9. web 前端:连接mysql中文乱码问题的解决办法

    当使用tomcat部署servlet连接时,总是出现各种原因的中文乱码问题.有的是因为mysql的默认字符集的问题,有的是客户端的字符配置问题. 现在对于这两种问题进行配置,来解决乱码. 服务器端(m ...

  10. 数dp多少个0-n多少0-9

    #include <bits/stdc++.h> using namespace std; const int N = 15; int n; int dp[N][N][N]; int a[ ...