2012-03-08 6 views
1

PHP를 사용하여 솔루션을 찾을 수 없었습니다. 기본적으로 사용자가 "PDF 다운로드"링크를 클릭하면 바이트 배열을 가져 와서 PDF로 파싱하는 PHP 함수가 호출됩니다. 나는 그것에 대해 어떻게 가야할지 모른다. 어떤 도움이라도 좋을 것입니다!바이트 배열을 파일에 저장 PHP

편집 : 나는이 같은 "바이트 배열"을 받고 있어요 :

<?php 
$userPDF = $_POST['username']; 
$passPDF = $_POST['password']; 
$idPDF = 'MO-N007175A'; 
//PDF Function 
$data = array("id" => $idPDF, "username" => $userPDF, "password" => $passPDF);                  
$data_string = json_encode($data);             
$ch = curl_init('http://*****.com/****/v1/DealPdf');                  
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                  
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                 
curl_setopt($ch, CURLOPT_VERBOSE, 1);                 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                   
    'Content-Type: application/json')                  
);                             
$result = curl_exec($ch); 
var_dump($result); 
?> 

은 "$ 결과가"가정으로 다음과 같습니다 바이트 배열 :

string(1053240) "[37,80,68,70,45,49,46,54,10,37,211,244,204,225,10,49,32,48,32,111,98 

.. 기타 기본적으로 나는 돌아 오는 메신저를 가져 와서 PDF (또는 문제의 일반적인 파일)로 저장해야합니다.

+2

을 그리고이 바이트 배열에서 ... 어디 온다? PHP에는 '바이트 배열'과 같은 것이 없습니다. –

+0

WCF 서비스에서 가져오고 POST에서 가져옵니다. – mdance

+0

그럼 ... 어떻게 파일에 개체를 쓰고 싶니? JSON 문자열로서, 나는 추정 하는가? –

답변

1

이 같은 시도 할 수 있습니다 :

// suppose that the response is a JSON array (look like it) 
$bytes = json_decode($results); 

$fp = fopen('myfile.pdf', 'wb+'); 

while(!empty($bytes)) { 
    $byte1 = array_shift($bytes); 
    $byte2 = array_shift($bytes); 
    if(!$byte2) { 
     $byte2 = 0; 
    } 

    fwrite($fp, pack("n*", ($byte1 << 8) + $byte2); // big endian byte order ? 
} 

fclose($fp); 
관련 문제