想实现的功能是:运行b.php 在 c.php的当中目录生成一个sb.txt文件文件内容为:http://baidu.com
但是运行之后得到的sb.txt文件是空的,请高手指点,我哪个地方错误,谢谢//////////////////////////////////////////////b.php内容如下///////////////////////////////////////////////////
<?php
function Post($url, $post = null)   
{   
    $context = array();   
   
    if (is_array($post))   
    {   
        ksort($post);   
   
        $context['http'] = array   
        (   
'method' => 'POST',
'header'=>"Content-type: application/x-www-form-urlencoded\r\n".   
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11\r\n" .
"Cookie: foo=123\r\n" . 
"Referer:http://baidu.com\r\n" .
"\r\n",
'content' => http_build_query($post, '', '&')
        );   
    }   
    return file_get_contents($url, false, stream_context_create($context));   
}   
   
$data = array   
(   
'sb'=>'sb'
);   
echo Post('http://127.0.0.1/c.php', $data);   
?>
//////////////////////////////////////////////c.php内容如下///////////////////////////////////////////////////
<?phpfunction getPreUrl()
{
if(@$_SERVER["HTTP_REFERER"])
{
return $_SERVER["HTTP_REFERER"];
}
return getenv("HTTP_REFERER");
}
echo $test = getPreUrl();
file_put_contents("sb.txt",$test);//此时如果调用b.php之后。生成的sb.txt文件的内容为:http://baidu.com则正确,但是我查看了一下是空的啊?为什么啊??>

解决方案 »

  1.   

    c.php
    =================================
    <?php
    function getPreUrl()
    {
        if(@$_SERVER["HTTP_REFERER"])
        {
            return $_SERVER["HTTP_REFERER"];
        }
        elseif($_SERVER["HTTP_REFERER__HTTP"])//试试这个
        {
    return "http:".$_SERVER["HTTP_REFERER__HTTP"];
        }
        return getenv("HTTP_REFERER");
    }
    echo $test = getPreUrl();
    file_put_contents("sb.txt",$test);//此时如果调用b.php之后。生成的sb.txt文件的内容为:http://baidu.com则正确,但是我查看了一下是空的啊?为什么啊??>
      

  2.   

    kaka 可怜的lz啊真是一个小错误弄得全盘皆输 "Referer:http://baidu.com\r\n" .
    Referer后面的冒号lz用的是中文里的都好于是乎。。
      

  3.   


    谢谢你的回答是正确的,可是我不明白如果为什么:"Cookie: foo=123\r\n"  中用中文的逗号,在c.php当中可以正常的获取
    Cookie foo的真啊?请指教
      

  4.   


    没有啊,你的cookie的冒号没有问题啊?是英文的?其实你从代码上就可以看出来明显referer后面的冒号比cookie后面的大一个号^^中文就是牛冒号都比别人的大一号kaka