ホームページ >データベース >mysql チュートリアル >PHP を使用して MySQL に .pdf ファイルを BLOB として効果的に保存する方法

PHP を使用して MySQL に .pdf ファイルを BLOB として効果的に保存する方法

DDD
DDDオリジナル
2024-10-24 04:18:02274ブラウズ

How to Effectively Store .pdf Files as BLOBs in MySQL Using PHP?

PHP を使用した MySQL BLOB への .pdf ファイルの効果的な保存

MySQL データベース内での .pdf ファイルなどのバイナリ ラージ オブジェクト (BLOB) の保存PHP を使用すると、最適なアプローチについて疑問が生じます。この記事では、この一般的な課題に対する堅牢な解決策について詳しく説明します。

解決策:

ID と DATA 列を持つデータベース テーブルがあると仮定します。 BLOB を格納する場合は、次の手法の採用を検討してください。

<code class="php">$result = mysql_query('INSERT INTO table (
data
) VALUES (
\'' . mysql_real_escape_string(file_get_contents('/path/to/the/file/to/store.pdf')) . '\'
);');</code>

考慮事項:

BLOB をデータベースに格納すると、テーブルの肥大化や効率的な取得の課題などの潜在的な欠点が生じます。したがって、推奨される戦略は、ファイルをファイル システムの場所に再配置し、取得目的でそのパスをデータベースに保存することです。

非推奨と最新の代替案:

ください提供されているコードは古く、PHP 7 以降のバージョンには適していないことに注意してください。非推奨の mysql_* 関数の代わりに、mysqli や PDO などの最新のデータベース アクセス方法を採用することを強くお勧めします。

mysqli 例:

手続き型モードで mysqli を使用すると、次のコードで同じ機能を実現できます:

<code class="php">$result = mysqli_query($db, 'INSERT INTO table (
data
) VALUES (
\'' . mysqli_real_escape_string(file_get_contents('/path/to/the/file/to/store.pdf'), $db) . '\'
);');</code>

推奨アプローチ:

最適なパフォーマンスとセキュリティを実現するには、BLOB の挿入に MySQLI または PDO プリペアド ステートメントを活用することを検討してください。 MySQL データベースに追加します。これにより、効率性と SQL インジェクション攻撃に対する保護の両方が保証されます。

以上がPHP を使用して MySQL に .pdf ファイルを BLOB として効果的に保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。