【php】 ファイルアップロードで UPLOAD_ERR_PARTIAL が発生する理由のひとつ
問題
ファイルのアップロード処理を作っていたら、UPLOAD_ERR_PARTIAL が発生しました。
答え
まず考えられる原因は通信エラーですが、何度やっても発生する場合は、「クライアントが送信している Content-length が、実際に送っているデータより小さい」可能性があります。
phpでファイルを送るプログラムを作る場合、Content-length は自動で付与されたりするので、意図的に付与しようとして失敗するよりは、自動処理に任せるとよいかもしれません。
サーバー側はリクエストヘッダの Content-length を参照して、指定された容量分のデータを受信したら、全て受信したとみなし、残りのデータを破棄するようです。
もし Content-length ヘッダーを送るなら、適切な値を送るように注意です。
コメント