PHP と CURL を介してサーバーに multipart/form-data ポスト リクエストを送信できるようにする必要があります。
以下のような通常の変数を送信するだけでなく、正しいコンテンツ タイプを取得することもできます。
------------------------------2f860b21c344
Content-Disposition: form-data; name="contactId"
8
------------------------------2f860b21c344
Content-Disposition: form-data; name="wt"
00:00:00
------------------------------2f860b21c344
この問題は、次のセクションで発生します。
-----------------------------221901842288
Content-Disposition: form-data; name="attchmnt[0]"; filename=""
Content-Type: application/octet-stream
-----------------------------221901842288
私が得た最も近いものはこれです:
------------------------------2f860b21c344
Content-Disposition: form-data; name="attchmnt[0]"
filename="";type=application/octet-stream
------------------------------2f860b21c344
マルチパート ヘッダーが必要なため、POST データに配列を使用しています。そのため、CURL コードが 100% 機能している限り、機能していないのはこの配列だけです。以下は、完全な DataArray です。
<?PHP
$dataArray = array(
'tid' => '',
'parentId' => '',
'contactId' => '8',
'wt' => '00:00:00',
'ts' => 'OFF',
'smtl' => '',
'ctctCombo' => 'John Hawkins',
'contact' => '8',
'location' => '16',
'priority' => '-2',
'group' => '1',
'status' => '2',
'category' => '5',
'categoryOption' => '8',
'estimatedDate' => '',
'assignedTo' => '16',
'asset' => '',
'zenAsset' => '',
'cf_20_new' => '512',
'subject' => 'Subject',
'cc' => '',
'bc' => '',
'note' => 'Message',
'attchmnt[0]' => 'filename="";type=application/octet-stream',
'notifyTech' => 'on',
'_notifyTech' => '',
'_notifyUser' => ''
);
?>
問題は、CURL で name="attchmnt[0]"; と同じ行に 'filename="";type=application/octet-stream' を追加するにはどうすればよいかということです。?
ファイルをアップロードできれば簡単ですが、ファイルがアップロードされていないだけのファイルストリームであることを指定する必要があります。