1

ファイルのアップロードをプロキシするアプリケーションを作成します。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 です」

何か案は?前もって感謝します

4

1 に答える 1

0

問題が何であるか正確にはわかりませんが、これを投稿したとき、私はローカルで作業していました。コードをライブサーバーに移動すると、問題は解消されました...

于 2013-03-11T18:35:45.380 に答える