ユーザーが大きなビデオ ファイルをサード パーティの API エンドポイントにアップロードできるフォームがあります。API は API キーをパラメーターの 1 つとして想定しているため、キーを保護するために、フォームを PHP スクリプトに送信すると、PHP スクリプトは curl を使用してファイルを API に送信します。これは機能しますが、問題は、ファイルが2回アップロードされることを意味することです.1回はphpスクリプトにアップロードされ、次にPHPスクリプトからAPIにアップロードされます。2つを並行して行う方法はありますか?つまり、ajax のアップロードが完了する前に、curl スクリプトがアップロードを開始できるようにしますか?
質問する
803 次
1 に答える
1
post から put に変更すると、使用できます
$input = fopen('php://input','r');
そして、標準の大きなファイルが好きで、部分的なチャンクを curl で送信しますか?
チャンクで渡すには CURLOPT_READFUNCTION を使用する必要があります。
ユーザーが何らかの理由で停止した場合は、不足しているファイルをクリーンアップする必要があることに注意してください
ポストの使い方がわからない
小さな例
このオプションでカールアップを設定する
curl_setopt($ch, CURLOPT_READFUNCTION, functionCall));
function functionCall($ch, $data){
global $input;
return fread($input, $length);
}
$length は、各チャンクで送信されるデータの量です。アップロードを開始する前に、少なくともその金額をアップロードする必要があります。
8192は人気の長さです、ぜひお試しください
于 2013-07-31T22:28:12.173 に答える