私はsonicAPIを使ってファイルをアップロードしています。なんらかの理由で私はphp内のcurlを使ってこれを行うことはできません。彼らのapiは、フォームから投稿をエミュレートするフラグ-Fを必要とするからです。((HTTP))これはcurlがユーザがsubmitボタン)PHPのcurlから出力を取得
とにかく。私は使用する必要があります
exec("$curl https://api.sonicapi.com/file/upload?access_id=$accessId [email protected]/shortaudio.mp3 2>&1", $output, $exit);
ファイルをアップロードする必要があります。引用符で囲まれたコマンドは、シェルに直接入力したときに機能します。 xml文字列を返します。しかし、私がvar_dump($ output)を実行すると、実際のシェルでそれを実行するときに実際には表示されない '読み込み'情報が得られます。私はこれを得る
array(4) {
[0]=>
string(79) " % Total % Received % Xferd Average Speed Time Time Time Current"
[1]=>
string(77) " Dload Upload Total Spent Left Speed"
[2]=>
string(158) "
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 17008 100 249 100 16759 393 26489 --:--:-- --:--:-- --:--:-- 26517"
[3]=>
string(249) ""
}
返されるXML文字列を取得するにはどうすればよいですか?ファイルは正常にアップロードされるので、defoはxmlレスポンスでなければなりません。 もしそうでなければ、php curlによるフォーム投稿をどのようにエミュレートできますか?
であるあなたは、PHP(5.5以降)でこれを行うことができるはず使用[CURLFile](http://php.net/manual/en/curlfile.construct.php) – iainn
うーん...まだ400のエラーが出ています。この$ cfile = curl_file_create( "shortaudio.mp3"、 'multipart/form-data'、 'shortaudio')を使用します。 –