0

解凍を処理するための小さな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スクリプトでは、ありがとう、私はすべてを見ていましたが、必要な場所はありませんでした。

4

2 に答える 2

1

これらのヘッダーはサーバーから取得されます。たとえば、HTTP バージョンとステータス コードは HTTP 仕様の一部です。クライアント側では、最初の空行まで読み取ることでヘッダーをスキップできます。

于 2012-07-19T20:50:41.763 に答える
0

次のifようにします。

if ( strpos( 'Foo.zip was uploaded', $return) !== false ) {
    echo 'Foo.zip was uploaded and unpacked';
}
于 2012-07-19T20:46:54.367 に答える