php函数笔记

作者:Matrix 被围观: 654 次 发布时间:2013-11-03 分类:零零星星 | 无评论 »

NOTICE:这是一个创建于 1126 天前的主题,其中的信息可能已经有所发展或是发生改变。

php w3school

大多都外链工具所用到的,整理整理,以便后用。

file_get_contents(函数把整个文件读入一个字符串中。

 htmlspecialchars() 函数将字符转换为 HTML 实体。

isset($ab)判断$ab是否存在

error_reporting(0);//禁用错误报告

使用@符号也可以

explode("/",$str)把字符串以/分割为数组

preg_match_all ()用正则匹配字符串并保存到数组中

preg_match_all ("/share_uk=(.*?)share/",$ukidConnect,$ukidList, PREG_PATTERN_ORDER);

//使用preg_match_all正则匹配数据并保存到$titleList数组中

$ukidList[0][1]表示第1数组【第一个括弧的值,如.*?】匹配到的字符串

如果preg_match_all换成preg_match,$ukidList[1]也表示第1数组【第一个括弧的值,如.*?】匹配到的字符串

废弃的eregi函数同理,传说使用preg函数更高效

strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。

strpos() 返回字符串在另一个字符串中第一次出现的位置。

strpos 区别大小写strpos查找成功后则是返回的是位置。因为位置有可能是0,所以判断查找失败使用===false更合适。

substr_count()函数计算子串在字符串中出现的次数。

strlen() 函数返回字符串的长度。

 substr() 取固定长度的字符串

$zhuaqian=strpos($titleList[0][0],"title>");
$zhuahou=strpos($titleList[0][0],"_免费高速下载|百度云 网盘-分享无限制");
$xinzhi=substr($titleList[0][0],6,$zhuahou-6); //取适当的两个位置中间的值也就是文件名

$_SERVER["REQUEST_URI"];  php自带的函数

取得当前url的页面url。

http://127.0.0.1/xxx.php?st=http://hhtjim.com

返回:/xxx.php?st=http://hhtjim.com

  1. $NOWstr =  'http://' .$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];//由于$_GET['url']取url不完整
  2. $NEWstr=explode('?url=',$NOWstr);
  3. $quurl = $NEWstr[1];

curl()函数

作用大大的有。

示例代码:

  1. function curl_get($url,$post=false,$carry_ua=true){
  2.       $ch=curl_init($url);
  3.       if($carry_ua){
  4.           curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent:Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16'));
  5.       }
  6.       if ($post) {
  7.           curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  8.       }
  9.       curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  10.       $get_url = curl_exec($ch);
  11.       curl_close($ch);
  12.       return $get_url;
  13.   }

不懂,再保留另外的

  1. $curlPost=’http://songtaste.com/time.php’; 
  2. $ch = curl_init();//初始化curl    
  3. curl_setopt($ch,CURLOPT_URL, $url);//提交到指定网页    
  4. curl_setopt($ch, CURLOPT_HEADER, 0);//设置header    
  5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上    
  6. curl_setopt($ch, CURLOPT_POST, 1);//post提交方式    
  7. curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
  8. $data = curl_exec($ch);//运行curl    
  9. curl_close($ch);
  10. print_r($data);//输出结果  

模拟POST提交数据
$post_data = array('nid' => '13714766852756201', 'shorturl' => 'QeEWZNzPansuQ');
$url='http://ajy8hpcasy.l17.yunpan.cn/share/downloadfile/';
$_REFERER='http://ajy8hpcasy.l17.yunpan.cn/lk/QeEWZNzPansuQ';
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_REFERER,$_REFERER);
ob_start();
curl_exec($ch);
$result = ob_get_contents() ;
ob_end_clean();

echo $result;

set_time_limit(0);//为0时:允许脚本运行的时间无上限。不设置此函数的话默认为30s

str_replace()使用一个字符串替换字符串中的另一些字符。

header()向客户端浏览器发送 HTTP 。

header("location: http://hhtjim.com");//跳转到http://hhtjim.com

list()  函数用数组中的元素为一组变量赋值。实际上是一种语言结构,不是函数。

array_slice() 函数在数组中根据条件取出一段值,并返回。

list($shareid, $uk) = array_slice($res, 1, 2);

//数组中有shareid, uk元素,让元素名最为变量名字。

//$res为总的数组,1为规定取出元素的开始位置。2为需要返回的数组数量。

define() 函数定义一个常量

define("GREETING","Hello world!");

//常量名为GREETING,值为"Hello world!

php中?(问号)和:(冒号)的作用:精简的if语句

条件表达式e1?e2:e3,若e1为真(非0),则此表达式的值为e2的值;若为假,则表达式的值为e3

例如:

preg_match('|Location: (.+)\r|', $src, $res);
$songurl = $res ? $res[1] : exit(" error!");

implode() 函数把数组元素组合为一个字符串。

json_decode()函数:接受一个 JSON 格式的字符串并且把它转换为 php 变量

示例:

$rt='{"errno":0,"errmsg":"\u64cd\u4f5c\u6210\u529f","data":{"downloadurl":"http:\/\/wsdl25.yunpan.cn\/share.php?method=Share.download&fhash=119f736a936d62396d7dd71ff8fb7d187d69d3d9&xqid=23620387&fname=%E8%AF%B4%E6%98%8E.doc&fsize=211968&nid=13754589643979953&cqid=157ddad976b9aa811591ed43134891f7&st=48ea3770079bce5360f952cff1dc9d29&e=1382784599&dt=25.1291649b2f9ed61380291c5c0d711ca9","params":[]}}';
$obj = json_decode($rt);
$dll=$obj->data->downloadurl;
echo $dll;

结果显示:http://wsdl25.yunpan.cn/share.php?method=Share.download&fhash=119f736a936d62396d7dd71ff8fb7d187d69d3d9&xqid=23620387&fname=%E8%AF%B4%E6%98%8E.doc&fsize=211968&nid=13754589643979953&cqid=157ddad976b9aa811591ed43134891f7&st=48ea3770079bce5360f952cff1dc9d29&e=1382784599&dt=25.1291649b2f9ed61380291c5c0d711ca9

示例二:

json数据:
{
"songs": [
{
"starred": false,
"popularity": 100,
"starredNum": 0,
"playedNum": 0,
"dayPlays": 0,
"hearTime": 0,
"name": "闆ㄤ竴鐩翠笅",
"id": 190495,
"duration": 294975,
"status": 1,
"position": 1,
"alias": [],
"commentThreadId": "R_SO_4_190495",
"artists": [
{
"img1v1Id": 0,
"name": "寮犲畤",
"id": 6469,
"alias": [],
"picUrl": "http://p4.music.126.net/6y-UleORITEDbvrOLV0Q8A==/5639395138885805.jpg",
"briefDesc": "",
"picId": 0,
"albumSize": 0,
"img1v1Url": "http://p4.music.126.net/6y-UleORITEDbvrOLV0Q8A==/5639395138885805.jpg"
}
],
"album": {
"songs": null,
"name": "闆ㄤ竴鐩翠笅",
"id": 19247,
"type": "",
"size": 11,
"description": "",
"status": 1,
"tags": "",
"alias": [],
"artist": {
"img1v1Id": 0,
"name": "",
"id": 0,
"alias": [],
"picUrl": "http://p4.music.126.net/6y-UleORITEDbvrOLV0Q8A==/5639395138885805.jpg",
"briefDesc": "",
"picId": 0,
"albumSize": 0,
"img1v1Url": "http://p4.music.126.net/6y-UleORITEDbvrOLV0Q8A==/5639395138885805.jpg"
},
"commentThreadId": "R_AL_3_19247",
"picUrl": "http://p4.music.126.net/otCQ-2wUgLaEN2_W8Nf_DA==/57174604656249.jpg",
"briefDesc": "",
"picId": 57174604656249,
"publishTime": 936115200000,
"company": "鐧句唬鍞辩墖",
"copyrightId": 0,
"blurPicUrl": "http://p1.music.126.net/otCQ-2wUgLaEN2_W8Nf_DA==/57174604656249.jpg",
"companyId": 0
},
"lMusic": {
"name": "闆ㄤ竴鐩翠笅",
"id": 10218546,
"size": 3573752,
"dfsId": 1003854116167496,
"bitrate": 96000,
"playTime": 294975
},
"bMusic": {
"name": "闆ㄤ竴鐩翠笅",
"id": 10218547,
"size": 11826146,
"dfsId": 1150089162661905,
"bitrate": 320000,
"playTime": 294975
},
"hMusic": {
"name": "闆ㄤ竴鐩翠笅",
"id": 10218544,
"size": 11826146,
"dfsId": 1211661813816986,
"bitrate": 320000,
"playTime": 294975
},
"mMusic": {
"name": "闆ㄤ竴鐩翠笅",
"id": 10218545,
"size": 5931878,
"dfsId": 1069824813834035,
"bitrate": 160000,
"playTime": 294975
},
"score": 100,
"copyrightId": 0,
"mvid": 0,
"mp3Url": "http://m1.music.126.net/fG44YGce-id8VZ9LjQIPpQ==/1069824813834035.mp3"
}
],
"code": 200
}

php处理:
$eo='上面的json数据';
$obj=json_decode($eo,true);
echo $obj['songs'][0]['mp3Url'];

结果返回:
h t t p : / /m1.music.126.net/fG44YGce-id8VZ9LjQIPpQ==/1069824813834035.mp3

get_headers()函数获取服务器响应 HTTP 请求所发送的所有标头

parse_str() 函数把URL参数解析到到变量中。

 array_unique() 函数移除数组中的重复的值

$b = &$a; //变量前&  表示$b 和 $a 引用了同一个变量

parse_url()解析 URL并返回组成部分为数组内容

strip_tags() 去除 HTML、XML 以及 PHP 的标签。

extract() 函数 把数组中的键名设置为变量,其键值为变量的值。

对于数组中的每个元素,键名用于变量名,键值用于变量值。

substr_replace() 函数把字符串的一部分替换为另一个字符串。

substr_replace($P,$v,9,1);//(替换第10位的数字为$p)

<<<  运算符,将由自定义分界符间的内容视为字符串,可对其间的变量做处理

  1. echo <<<tem
  2. <script>alert("输入的留言内容太长!");history.go(-1);</script>
  3. tem;

tem是任意字符,<<<后的tem标记着开始。必须以 tem; 结尾,另起一行顶格(前面无空格)书写,否则会报错。

base_convert() 函数在任意进制之间转换数字。

is_numeric()函数检测变量是否为数字或数字字符串

urlencode()返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数.

rawurlencode()功能和urlencode基本一样,采用的是RFC1738编码,因此空格会编码为%20

sprintf() 函数把格式化的字符串写入一个变量中。

in_array()函数在数组中搜索给定的值。

array_search()函数在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。

array_key_exists() 函数判断某个数组中是否存在指定的键名

md5(arg[,arg])

函数计算字符串的 MD5 散列,第二的参数规定十六进制或二进制输出格式。

PHP_EOL表示换行符

str_split() 函数把字符串逐字分割到数组中。

split()用正则表达式将字符串分割到数组中

preg_split()通过一个正则表达式分隔字符串

http_build_query()生成 URL-encode 之后的请求字符串

quotemeta() 函数在字符串中某些预定义的字符前添加反斜杠。

mt_rand(A,B) 函数返回A到B的随机整数

陆续添加整理。。。

本文固定链接:http://www.hhtjim.com/php-function-to-collect.html
Matrix
本文章由 Matrix 于2013年11月03日发布在零零星星分类下,目前没有通告,你可以至底部留下评论。
转载请注明:php函数笔记-HHTjim'S 部落格
关键字:, , ,

添加新评论 »

 😛 Sad 忧伤 👿 Smile 笑脸 😳 😀 😯 😮 😕 😎 😆 😡 😈 Roll Eyes 转眼珠 😉 💡 😐 😥 Mr Green 绿脸先生

NOTICE: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!