php没有标题文本

时间:2012-07-19 20:42:44

标签: php perl http-headers

我已经编写了一个小的PHP脚本来处理解压缩。我可以从任何其他脚本调用它,在我的情况下从我的perl脚本调用它,只需传递相关的文件名和目标目录。我的问题是我想恢复文件名以确认成功,但我不能让php打印出纯文本。它总是打印回标题。我可以在没有标题的情况下打印php吗?尝试了header_remove,但它不起作用。

    <?php
    header_remove();
    if (!headers_sent()) {   foreach (headers_list() as $header)     header_remove        ($header); } 
    require("dUnzip2.inc.php");
    $Path = $_GET["path"];
    $save_to = $_GET["save_to"];
    $filename = $_GET["filename"];
    $zip_file = "$Path/$filename";
    $zip = new dUnzip2("$zip_file");
    $zip->debug = 0;
    $zip->unzipAll("$save_to");
    unlink("$Path/$filename");
    echo "$filename was uploaded and unpacked.";
    ?>

我从剧本得到的回应是:

HTTP/1.1 200 OK
Connection: close
Date: Thu, 19 Jul 2012 20:40:04 GMT
Server: Nginx / Varnish
Content-Length: 38
Content-Type: text/html
Client-Date: Thu, 19 Jul 2012 20:40:04 GMT
Client-Peer: 66.86.255.11:80
Client-Response-Num:

Foo.zip was uploaded and unpacked. 

我希望它只是:

Foo.zip was uploaded and unpacked. 

编辑:已解决 我得到了它,我正在使用

    my $response = $ua->request($req)->as_string;

我什么时候应该使用

    my $response = $ua->request($req)->content;

在我的PERL脚本中,谢谢你,我正在考虑我需要的地方。

2 个答案:

答案 0 :(得分:1)

这些标头来自您的服务器,例如HTTP版本和状态代码是HTTP规范的一部分。在客户端,您可以通过读取第一个空行来跳过标题。

答案 1 :(得分:0)

制作if,例如:

if ( strpos( 'Foo.zip was uploaded', $return) !== false ) {
    echo 'Foo.zip was uploaded and unpacked';
}