前提・実現したいこと
APIで取得するバイナリーデータをファイルに保存したい。
https://app.swaggerhub.com/apis/CloudSign/cloudsign-web_api/0.10.4#/default/get_documents__documentID__files__fileID_
ここのAPIなんですが、PDFファイルをバイナリで返却して来るのですが、PHPでどういう受け取り方をしたらいいのか教えてください。
発生している問題・エラーメッセージ
エラーはなく、全くデータの取り方が分かりません。
該当のソースコード
PHP
1 private function getFile($document_id = '', $file_id = '', $output_file = '', $_token = '') 2 { 3 $url = $this->end_point . 'documents/' . $document_id . '/files/' . $file_id; 4 5 $opts = array( 6 'http'=>array( 7 'method'=>"GET", 8 'header'=>"accept: application/pdf\r\n" . 9 "Authorization: ' . $_token . '\r\n" 10 ) 11 ); 12 $context = stream_context_create($opts); 13 14// $data = exec('curl -X GET "' . $url . '" -H "accept: application/json" -H "Authorization: ' . $_token . '"', $response, $status); 15 16// $fp = fopen($url, 'r',FALSE,$context); 17 $fp = file_get_contents($url, FALSE, $context); 18 var_dump($url,$opts,$fp); 19 file_put_contents($output_file, $fp); 20 21// $this->response->type('application/pdf'); 22// $this->response->body($response); 23// $this->response->download("name.pdf"); 24 return $output_file; 25 } 26
試したこと
exec 関数で実行したら $response に最後の1行が返って来るだけで全体が取れません。
curl 関数も試しましたが、こちらはサーバー環境のせいか、ローカル環境とサーバー環境で同じテストができなかったので、他の方法を試しています。
APIトークンは、ここの前の処理で正しく取得できています。。

回答1件
あなたの回答
tips
プレビュー