1.用0到9十个数字构造一个二级目录,每个目录名字有2位数字如00/79并把所有的目录打印出来
2.写出几种抓取远程程序的几种方法?(file_get——contents的第二个参数是?)
3.使用css 来隐藏一个div的方法?
4.php没有安装xml用什么方法能够解析 xml模块(服务器端)?
1.css隐藏一个div的方法
<!doctype html>
<html lang="zh-CN">
<head>
<title>div隐藏、显示</title>
<style>
.main{width:200px;height:150px;border:1px solid red;margin:0 auto; display:none;}
</style>
<!-- dislpay:block 是显示div display:none是隐藏该div-->
</head>
<body>
<div class="main">
</div>
</body>
</html>
2.写出几种抓取远程程序的几种方法
(1)file_get_contents()
<?php
echo file_get_contents("http://www.baidu.com");
?>
file_get_contents() 函数把整个文件读入一个字符串中。
和 file() 一样,不同的是 file_get_contents() 把文件读入一个字符串。
file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法。如果操作系统支持,还会使用内存映射技术来增强性能
file_get_contents(path,include_path,context,start,max_length)
参数 | 描述 |
---|---|
path | 必需。规定要读取的文件。 |
include_path | 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。 |
context | 可选。规定文件句柄的环境。 context 是一套可以修改流的行为的选项。若使用 null,则忽略。 |
start | 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 新加的。 |
max_length | 可选。规定读取的字节数。该参数是 PHP 5.1 新加的。 |
3.
fopen() 函数打开文件或者 URL。
如果打开失败,本函数返回 FALSE。
语法
fopen(filename,mode,include_path,context)
参数 | 描述 |
---|---|
filename | 必需。规定要打开的文件或 URL。 |
mode | 必需。规定要求到该文件/流的访问类型。可能的值见下表。 |
include_path | 可选。如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或 TRUE。 |
context | 可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。 |
mode 参数的可能的值
mode | 说明 |
---|---|
"r" | 只读方式打开,将文件指针指向文件头。 |
"r+" | 读写方式打开,将文件指针指向文件头。 |
"w" | 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
"w+" | 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
"a" | 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
"a+" | 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
"x" | 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。 这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。 此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 |
"x+" | 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。 这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。 此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 |
案例:
$handle = fopen ("http://s.jb51.net/", "rb");
$contents = "";
while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);
echo $contents; //输出获取到得内容。
?>
<?php
// 对 PHP 5 及更高版本可以使用下面的代码
$handle = fopen("http://s.jb51.net", "rb");
$contents = stream_get_contents($handle);
fclose($handle);
echo $contents;
?>
stream_get_contents()
strock()
<?php
function GETBySocket($URL, $port=80) {
//get host from url
preg_match('/\/\/.*\//sU',$URL,$host_array);
if(!$host_array[0]) {
$URL.='/';
preg_match('/\/\/.*\//sU',$URL,$host_array);
}
$host=substr($host_array[0],2,-1);
//connect
$fp = stream_socket_client("$host:$port", $errcode, $errstr, 1);// or die("get ". $host ." failed");
//
$header = "GET ". $URL. " HTTP/1.1\r\n";
$header .= "Accept: */*\r\n";
$header .= "Accept-Language: zh-cn\r\n";
//$header .= "HTTP_CONNECTION: Keep-Alive\r\n";
$header .= "HTTP_ACCEPT: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header .= "HTTP_ACCEPT_CHARSET: gbk,*,utf-8\r\n";
//$header .= "Accept-Encoding: gzip, deflate\r\n";
$header .= "User-Agent: Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1;)\r\n";
$header .= "Host: ". $host ."\r\n";
//$header .= "Connection: Keep-Alive\r\n";
//$header .= "Cookie: cnzz02=2; rtime=1; ltime=1148456424859; cnzz_eid=56601755-\r\n\r\n";
$header .= "Connection: close\r\n\r\n";
stream_socket_sendto($fp, $header);
///$content=stream_socket_recvfrom($fp,1000,STREAM_PEEK);
$content=stream_get_contents($fp);
fclose($fp);
$position_header=strpos($content, "\r\n\r\n");
if (stripos(substr($content, 0 ,$position_header), 'Transfer-Encoding: chunked')) {
return substr($content, strpos($content, "\r\n", $position_header +4)+2);
} else {
return substr($content, $position_header +4);
}
}
echo GETBySocket('http://www.qq.com/');
————————————————————————————————————
curl类库
<?php
function get_url_content($url){
$user_agent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)";
$ch = curl_init();
//curl_setopt ($ch, CURLOPT_PROXY, $proxy);
curl_setopt ($ch, CURLOPT_URL, $url);//设置要访问的IP
curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);//模拟用户使用的浏览器
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1 ); // 使用自动跳转
curl_setopt ($ch, CURLOPT_TIMEOUT, 60); //设置超时时间
curl_setopt ( $ch, CURLOPT_AUTOREFERER, 1 ); // 自动设置Referer
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'c:\cookie.txt');
curl_setopt ($ch, CURLOPT_HEADER,0); //显示返回的HEAD区域的内容
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_TIMEOUT, 10);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
?>
jquery 表单 submit方法问题
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs
/jquery/1.4.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#submit').click(function(){
$('#form').submit()
})
})
</script>
<body>
<form id="form" method="get" method="a.php">
<input type="text" name="q" value="设计蜂巢"/><button type="button" id="submit">查询</button>
</form>
</body>
</html>
上述代码看上去貌似没什么问题,简直是普通了不能再普通的代码。可是点击查询按钮的时候死活不提交表单,按钮type改为submit表单提交正常,啥原因呢?
表单和其子元素不宜用一个表单的属性的属性作为name或id的名称,如submit, length, or method,是、会产生冲突。名称冲突可能会导致混乱的失败。对于一个完整的规则列表,并检查这些问题标记,看DOMLint。
-_-^ 原来就是这个id=”submit”的原因,不知道你有木有犯这种低级的错误.