やりたいこと
base64にエンコードされたファイルを複合してcURLで送信したい。
→下記のサンプルコードから@1をコメントインした状態
試したこと
- 下記のサンプルコードでは成功することを確認しています。
- @1の行をコメントインすると@2で 「ERROR:3 No URL set!」が出てしまいます。
- @1を「file_put_contents('test.jpg', $file);」すると正しく画像ファイル化されます=base64化されたtest.jpgは正常
わからないこと
「試したこと2」でなぜ「ERROR:3 No URL set!」が出てしまうのか。
「試したこと2」でfopenした場合と同様にする場合の実装方法
php
1<?php 2 3 $file = fopen('test.jpg', "r"); 4 //$file = base64_decode('{base64化されたtest.jpg}'); //@1 5 6 $headers = array( 7 'Accept: application/json', 8 ); 9 10 $options = array( 11 CURLOPT_PUT => true, 12 CURLOPT_INFILE => $file, 13 CURLOPT_URL => 'https://example.com', 14 CURLOPT_RETURNTRANSFER => true, 15 CURLOPT_HTTPHEADER => $headers, 16 ); 17 18 $curl = curl_init(); 19 curl_setopt_array($curl, $options); 20 curl_exec($curl); 21 22 if(curl_errno($curl)) { 23 echo 'ERROR:'.curl_errno($curl).' '.curl_error($curl); //@2 24 }
回答1件
あなたの回答
tips
プレビュー