不完全的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并没有要求这些内容,但是某些,某时候就要求.
相关文档:
引用文件的方法有2种:
1、require
require("conn.php"); 一般放在页面的第一行,做为该页执行的一部分,首先执行require内的conn.php 然后再执行下面的代码
2、include
include("header.php");当程序到达这里的时候才会执行include的 header.php ......
<?php
class DB
{
private $link;
function connectDB($dbhost, $dbuser, $dbpw, $dbname="", $pconnect = 1)
{
if($pconnect)
{
if(!$this->link = mysql_pconnect($dbhost, $dbuser, ......
我们常常在网站上看到某篇文章发表于“3天前”,“5个月前”,“4年前”。下面这个函数就提供了计算这个时间差的功能。
<?php
/**
* 时间差计算
*
* @param Timestamp $time
* @return String Time Elapsed
* @author Shelley Shyan
* @copyright http://phparch.cn (Professiona ......
memcache::debug
bool memcache_debug ( bool $on_off )
说明:
控制调试功能,前提是php在编译的时候使用了-enable-debug选项,否则这个函数不会有作用。
参数:
$on_off:true表示开启调试,false表示关闭调试
返回值:
如果php在编译的时候使用了-enable-debug选项,返回true,否则返回false
Memcache:: ......
这种问题我想大家可能都遇到过,网友提供的解决方法也很多。我也只是结合自己系统的需求并结合网友的解决方案来总结的一种方法
用来作为解决php以root权限执行一些普通用户不能执行的命令或应用的参考。
其实php里的popen()函数是可以解决这个问题的,但是由于某些版本的linux(如我使用的Centos 5)对系统安全的考虑,
使 ......