ファイルを Blob としてフォームから MySQL データベースにアップロードしようとしています。問題は、max_allowed_packet が 65536 バイトであり、ファイルがそのサイズを超えると破損することです。
現在、ファイルの内容を取得するためにこれを行っています。
$certificateWaiverFile = file_get_contents($_FILES['inputCertificateWaiverFile']['tmp_name']);
次にsend_long_data()
、それをデータベースに挿入します。
$stmt->send_long_data(28, $certificateWaiverFile);
ただし、DB に到達すると、実際には 360KB であるにもかかわらず、blob は 65536 バイトであると表示されます。ダウンロードしようとすると、不思議なことに 65536 バイトではなく 352KB と表示されます。
max_allowed_packet を調整できないと仮定して、ファイルを分割して実際に DB に正しく格納する方法についてのアイデアはありますか? ありがとう!