php中文网最新课程
每日17点准时技术干货分享
这篇文章给大家介绍的内容是关于PHP中常用的一些功能总结(归纳),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
1.获取网站是http还是https ?
$http_type
= ((isset(
$_SERVER
[
'HTTPS'
]) &&
$_SERVER
[
'HTTPS'
] ==
'on'
) || (isset(
$_SERVER
[
'HTTP_X_FORWARDED_PROTO'
]) &&
$_SERVER
[
'HTTP_X_FORWARDED_PROTO'
] ==
'https'
)) ?
'https://'
:
'http://'
;
2.删除数组中的空数据
function
where_data(
$data
)
{
foreach
(
$data
as
$k
=>
$v
) {
if
(
empty
(
$v
) &&
$v
!=
'0'
) {
unset(
$data
[
$k
]);
}
}
return
$data
;
}
3.截取富文本中的其中一部分
/**
* 将富文本中文字截取其中的一部分
* @param $content
* @return string
*/
function
html_substr_content(
$content
,
$length
=100)
{
$content
= htmlspecialchars_decode(
$content
);
//把一些预定义的 HTML 实体转换为字符
$content
=
str_replace
(
" "
,
""
,
$content
);
//将空格替换成空
$content
=
strip_tags
(
$content
);
//函数剥去字符串中的 HTML、XML 以及 PHP 的标签,获取纯文本内容
$con
= mb_substr(
$content
, 0,
$length
,
"utf-8"
);
//返回字符串中的前100字符串长度的字符
return
$con
;
}
一、黑名单过滤
function
is_spam(
$text
,
$file
,
$split
=
':'
,
$regex
= false){
$handle
=
fopen
(
$file
,
'rb'
);
$contents
=
fread
(
$handle
,
filesize
(
$file
));
fclose(
$handle
);
$lines
=
explode
(
"n"
,
$contents
);
$arr
=
array
();
foreach
(
$lines
as
$line
){
list(
$word
,
$count
) =
explode
(
$split
,
$line
);
if
(
$regex
)
$arr
[
$word
] =
$count
;
else
$arr
[preg_quote(
$word
)] =
$count
;
}
preg_match_all(
"~"
.implode(
'|'
,
array_keys
(
$arr
)).
"~"
,
$text
,
$matches
);
$temp
=
array
();
foreach
(
$matches
[0]
as
$match
){
if
(!in_array(
$match
,
$temp
)){
$temp
[
$match
] =
$temp
[
$match
] + 1;
if
(
$temp
[
$match
] >=
$arr
[
$word
])
return
true;
}
}
return
false;
}
$file
=
'spam.txt'
;
$str
=
'This string has cat, dog word'
;
if
(is_spam(
$str
,
$file
))
echo
'this is spam'
;
else
echo
'this is not spam'
;
ab:3
dog:3
cat:2
monkey:2
二、随机颜色生成器
function
randomColor() {
$str
=
'#'
;
for
(
$i
= 0 ;
$i
< 6 ;
$i
++) {
$randNum
= rand(0 , 15);
switch
(
$randNum
) {
case
10:
$randNum
=
'A'
;
break
;
case
11:
$randNum
=
'B'
;
break
;
case
12:
$randNum
=
'C'
;
break
;
case
13:
$randNum
=
'D'
;
break
;
case
14:
$randNum
=
'E'
;
break
;
case
15:
$randNum
=
'F'
;
break
;
}
$str
.=
$randNum
;
}
return
$str
;
}
$color
= randomColor();
三、从网上下载文件
set_time_limit(0);
// Supports all file types
// URL Here:
$url
=
'http://php.cn/some_video.flv'
;
$pi
=
pathinfo
(
$url
);
$ext
=
$pi
[
'extension'
];
$name
=
$pi
[
'filename'
];
// create a new cURL resource
$ch
= curl_init();
// set URL and other appropriate options
curl_setopt(
$ch
, CURLOPT_URL,
$url
);
curl_setopt(
$ch
, CURLOPT_HEADER, false);
curl_setopt(
$ch
, CURLOPT_BINARYTRANSFER, true);
curl_setopt(
$ch
, CURLOPT_AUTOREFERER, true);
curl_setopt(
$ch
, CURLOPT_FOLLOWLOCATION, true);
curl_setopt(
$ch
, CURLOPT_RETURNTRANSFER, true);
// grab URL and pass it to the browser
$opt
= curl_exec(
$ch
);
// close cURL resource, and free up system resources
curl_close(
$ch
);
$saveFile
=
$name
.
'.'
.
$ext
;
if
(preg_match(
"/[^0-9a-z._-]/i"
,
$saveFile
))
$saveFile
= md5(microtime(true)).
'.'
.
$ext
;
$handle
=
fopen
(
$saveFile
,
'wb'
);
fwrite(
$handle
,
$opt
);
fclose(
$handle
);
四、强制下载文件
$filename
=
$_GET
[
'file'
];
//Get the fileid from the URL
// Query the file ID
$query
= sprintf(
"SELECT * FROM tableName WHERE id = '%s'"
,mysql_real_escape_string(
$filename
));
$sql
= mysql_query(
$query
);
if
(mysql_num_rows(
$sql
) > 0){
$row
= mysql_fetch_array(
$sql
);
// Set some headers
header(
"Pragma: public"
);
header(
"Expires: 0"
);
header(
"Cache-Control: must-revalidate, post-check=0, pre-check=0"
);
header(
"Content-Type: application/force-download"
);
header(
"Content-Type: application/octet-stream"
);
header(
"Content-Type: application/download"
);
header(
"Content-Disposition: attachment; filename="
.
basename
(
$row
[
'FileName'
]).
";"
);
header(
"Content-Transfer-Encoding: binary"
);
header(
"Content-Length: "
.
filesize
(
$row
[
'FileName'
]));
@readfile(
$row
[
'FileName'
]);
exit
(0);
}
else
{
header(
"Location: /"
);
exit
;
}
五、截取图片
$filename
=
"test.jpg"
;
list(
$w
,
$h
,
$type
,
$attr
) =
getimagesize
(
$filename
);
$src_im
= imagecreatefromjpeg(
$filename
);
$src_x
=
'0'
;
// begin x
$src_y
=
'0'
;
// begin y
$src_w
=
'100'
;
// width
$src_h
=
'100'
;
// height
$dst_x
=
'0'
;
// destination x
$dst_y
=
'0'
;
// destination y
$dst_im
= imagecreatetruecolor(
$src_w
,
$src_h
);
$white
= imagecolorallocate(
$dst_im
, 255, 255, 255);
imagefill(
$dst_im
, 0, 0,
$white
);
imagecopy(
$dst_im
,
$src_im
,
$dst_x
,
$dst_y
,
$src_x
,
$src_y
,
$src_w
,
$src_h
);
header(
"Content-type: image/png"
);
imagepng(
$dst_im
);
imagedestroy(
$dst_im
);
六、检查网站是否宕机
function
Visit(
$url
){
$agent
=
"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
;
$ch
=curl_init();
curl_setopt (
$ch
, CURLOPT_URL,
$url
);
curl_setopt(
$ch
, CURLOPT_USERAGENT,
$agent
);
curl_setopt (
$ch
, CURLOPT_RETURNTRANSFER, 1);
curl_setopt (
$ch
,CURLOPT_VERBOSE,false);
curl_setopt(
$ch
, CURLOPT_TIMEOUT, 5);
curl_setopt(
$ch
,CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt(
$ch
,CURLOPT_SSLVERSION,3);
curl_setopt(
$ch
,CURLOPT_SSL_VERIFYHOST, FALSE);
$page
=curl_exec(
$ch
);
//echo curl_error($ch);
$httpcode
= curl_getinfo(
$ch
, CURLINFO_HTTP_CODE);
curl_close(
$ch
);
if
(
$httpcode
>=200 &&
$httpcode
<300)
return
true;
else
return
false;
}
if
(Visit(
"http://www.google.com"
))
echo
"Website OK"
.
"n"
;
else
echo
"Website DOWN"
;
以上就是PHP中常用的一些功能总结(归纳)的详细内容,更多请关注php中文网其它相关文章!
-END-
声明:本文选自「 php中文网 」,搜索「 phpcnnew 」即可关注!
▼