ファイルのアップロードをプロキシするアプリケーションを作成します。CURL を使用してファイルを投稿していますが、いくつか問題があります。スクリプトへの投稿は問題ありません。スクリプトから次のサーバーへの投稿が問題です。サーバーからこのエラーが発生し続けます:
「マルチパート境界が見つからなかったため、リクエストは拒否されました」
ここに私のコードがあります:
$post = $_POST;
// allow for file upload proxying
if( !empty( $_FILES ) ){
// add to post data
foreach( $_FILES as $name => $upload ){
$post[ $name ] = '@' . $upload[ 'tmp_name' ] . ';type=image/png';
}
}
// init curl
$ch = curl_init( $url );
// configure options
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
// post data
if( !empty( $post ) ){
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $post );
// for file uploads, multi-part
curl_setopt( $ch, CURLOPT_HTTPHEADER, array(
'Content-type: multipart/form-data;'
) );
}
// execute and get return value
$return = trim( curl_exec( $ch ) );
// cleanup
curl_close( $ch );
unset( $ch );
私がオンラインで読んだことはすべて、これが機能するはずであり、ヘッダーのコンテンツ タイプを設定する必要がないことも示唆していますが、コンテンツ タイプを削除すると、次のエラーが発生します。
「リクエストに multipart/form-data または multipart/mixed ストリームが含まれていません。コンテンツ タイプ ヘッダーが null です」
何か案は?前もって感謝します