2012-07-19 5 views
0

나를 압축 해제 처리하는 작은 PHP 스크립트를 작성했습니다. 나는 다른 스크립트에서 호출 할 수 있는데, 필자의 경우 필자가 가지고있는 perl 스크립트에서 호출하고 관련 파일 이름과 대상 디렉토리 만 전달하면된다. 내 문제는 성공을 확인하기 위해 파일 이름을 다시 얻고 싶습니다만, PHP로 일반 텍스트를 출력 할 수는 없습니다. 항상 헤더를 인쇄합니다. 헤더없이 인쇄 할 수 있습니까? header_remove를 시도했지만 작동하지 않습니다.php no headers 텍스트

<?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."; 
    ?> 

내가 스크립트에서 얻을 응답은 다음과 같습니다

Foo.zip 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. 

내가 그냥가되고 싶어요 나는 그것이 작동있어 해결, 내가 사용했다

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

사용 해본 적이있다

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

내 PERL 스크립트에, 감사합니다, 전 everthing하지만 내가 어디에서 찾고 있었다.

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

스크립트에 문제가 없습니다. 문제는 확실히 결과 문자열/또는 스크립트 호출 방법을 읽는 방법입니다. -하지만 왜 처음에는 PHP 스크립트를 사용하고 일반 unzip 도구는 사용하지 않습니까? – mario

+2

가능한 [정숙 모드에서 PHP를 실행한다는 것은 무엇입니까?] (http://stackoverflow.com/questions/5777792/what-does-it-mean-to-run-php-in-quiet-mode) – mario

+0

귀하의 오른쪽 마리오, 나는 정확하게 (조용한 모드)를 찾고있었습니다. 그것은 스크립트 또는 명령 행에서만 호출 할 수 있습니까? 나는 PHP에서 단지 텍스트 출력을 얻는 것이 얼마나 어려운지에 놀랐다. 어떤 압축 풀기 도구를 언급하고 있습니까? 나는 perl unzip 도구를 한번 보았고 유용한 것들을 찾지 못했습니다.이 이미지 조작은 PHP 스크립트를 사용하고 호출하기 만합니다. 다른 사람은 내가 펄을 좋아한다. –

답변

0

처럼, if 확인 HTTP 버전 및 상태 코드는 HTTP 사양의 일부입니다. 클라이언트 측에서는 첫 번째 빈 줄까지 읽음으로써 헤더를 건너 뛸 수 있습니다.

1

이 헤더는 예를 들어, 서버에서 온 :

+0

예 저는 방금 살펴 보았습니다. 나는 보통의 LWP 요청을 사용하지 않았다. –