本文目录一览:
在php中怎样判断一个$_REQUEST是否存在?
php代码:
?php
echo empty($_REQUEST);
代码解释:
empty()函数是用来测试变量是否已经配置。若变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true值。
php如何判断一个域名是否绑定在服务器上
1、php判断一个域名是否绑定在服务器上可以查看本服务器绑定的域名。
2、查看服务器IP解析了多少个域名,作为管理员,可以在IIS网站管理那里直接查看有搭建多少个网站,不是管理员的话也可以在站长之家-站长工具-同IP网站查询中查询解析域名。
使用php判断网页是否gzip压缩
昨天晚上群里有朋友采集网页时发现file_get_contents
获得的网页保存到本地为乱码,响应的header
里
Content-Encoding:gzip
但在浏览器里看是正常的。
因为我有过相关经验马上发现是网站开启了gzip而file_get_contents
获得的是压缩过的页面,而不是解压过的页面(不知道是不是要file_get_conttents
请求网页时带上相应的参数,直接获得没有被gzip压缩过的网页?)
刚好我前不久刚看到可以用读取文件的前2个字节判断文件类型。群里面的朋友也说gzip压缩过的网页(gbk编码)前2字节是
1F
8B
于是就可以判断网页是否gzip压缩过。
代码如下:
复制代码
代码如下:
//米尔军事网采用
gzip压缩网页
//file_get_contents
直接获得的网页是乱码。
header('Content-Type:text/html;charset=utf-8'
);
$url
=
'';
$file
=
fopen($url,
"rb");
//只读2字节
如果为(16进制)1f
8b
(10进制)31
139则开启了gzip
;
$bin
=
fread($file,
2);
fclose($file);
$strInfo
=
@unpack("C2chars",
$bin);
$typeCode
=
intval($strInfo['chars1'].$strInfo['chars2']);
$isGzip
=
0;
switch
($typeCode)
{
case
31139:
//网站开启了gzip
$isGzip
=
1;
break;
default:
$isGzip
=
0;
}
$url
=
$isGzip
?
"compress.zlib://".$url:$url;
//
三元表达式
$mierHtml
=
file_get_contents($url);
//获得米尔军事网数据
$mierHtml
=
iconv("gbk","utf-8",$mierHtml);
echo
$mierHtml;
php中如何判断中英文字符
PHP判断中英文的依据是字符的ASII值,而字符的ASII值也因编码不同而不同。为了能编写判断中英文字符的php程序,我们必须先来了解下各编码下中文英文字符的ASII值范围:
1.
GBK
(GB2312/GB18030)
x00-xff
GBK双字节编码范围
x20-x7f
ASCII
xa1-xff
中文
gb2312
x80-xff
中文
gbk
2.
UTF-8
(Unicode)
u4e00-u9fa5
(中文)
x3130-x318F
(韩文
xAC00-xD7A3
(韩文)
u0800-u4e00
(日文)
!DOCTYPE HTML PUBLIC
"-//W3C//DTD
HTML
4.0
Transitional//EN"
HTML
HEAD
TITLE
New
Document
/TITLE
META
http-equiv="Content-Type"
content="text/html;
charset=utf-8"
/HEAD
BODY
?
$str
=
"中文";
echo
$str;
echo
"hr";
//if
(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",
$str))
{
//只能在GB2312情况下使用
if
(preg_match("/^[x7f-xff]+$/",
$str))
{
//兼容gb2312,utf-8
echo
"正确输入";
}
else
{
echo
"错误输入";
}
?
/BODY
/HTML