不完全的HTML头消息,可能被某些PHP服务器拒绝.
近日在用自己以前写的http下载器下载某一个php页面以外遭遇403错误.但是ie却能够正确访问. 日志如下: IE: Time At:0005504671
Line:10
send: 192.168.1.2 –> xxx.xxx.xxx.xxx len:351
GET /test.jpg HTTP/1.1
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 4.0.20506)
Host: ****************
Connection: Keep-Alive MyDownload: Time At:0005408062
Line:5
send: 192.168.1.2 -> xxx.xxx.xxx.xxx len:99
HEAD/test.jpg HTTP/1.1
Host:****************
Connection:Keep-Alive
Range:bytes=0- 尽管ie直接使用GET而我使用HEAD查询文件大小,但是其实问题是我的http头缺少一些字段. 改正后:(增加了User-Agent,Accept字段,起决定作用的是User-Agent) Time At:0005756375
Line:5
send: 192.168.1.2 -> xxx.xxx.xxx.xxx len:172
HEAD /test.jpg HTTP/1.1
Host:****************
Accept:*/*
User-Agent:Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)
Connection:Keep-Alive
Range:bytes=0- 顺利获取文件内容. 某些PHP并没有要求这些内容,但是某些,某时候就要求.
相关文档:
在以前的做的例子中遇到过重复的加载的错误 额 那个是通过include_once()来解决 或者不让他重复加载把重复的include()去掉一个或多个,最终只剩下一个这样问题就解决了,但今天遇到的问题就棘手了 说是找不到文件。
事情是这样的 ,今天在文件夹里再新建了一个文件夹,然后以前includ ......
<?
include 'conn.php';
$_pagenob=10; //每页规定的信息数目
//获取当前页
if(isset($_GET["page"]))
{
$_page = intval( $_GET['page'] );
}
else
{
$_page=1;
}
//查询数据总数
$_query="select count(*) as acount from news";
$_result=mysql_query($_query);
$_row=mysql_fetch_row($_result);
......
1.PHP字符串操作常用的方法
php串中还有一个特殊的花括号操作符。当用双引号指定字符串时,其中的变量会被解析。在双引号中的串中如果遇到$,解析器会尽可能多地取得后面的字符以组成一个合法的变量名,如果想表示指定名字的结束,用花括号把变量名括起来。请看以下代码:
<?php
$beer = 'heineke ......
1.如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。
2.echo 比 print 快。
3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。
4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。
5.注销那些不用的变量尤其是大数组,以便释放内存。
6.尽量避免使用__get,__set,__autolo ......
1.用JS调用文件count.php 在你需要加入统计的的地方加入<script src="count.php"></script> 实际运用中注意修改路径!
2.php环境必须支持putenv()函数,可以统计昨日访问,今日访问,在线人数,您访问的次数。
3 . ......