SQLを使用したファイルシステムへのアクセス

MySQLで、ファイルシステムを利用して、ファイルやフォルダの存在やその内容などの貴重な情報を取得するための優れたオプションに出くわしました。 これは、php関数file_existsの代わりとして非常に役立ちます。これは、ファイルの存在に関する情報を、さらに並べ替えおよび集計関数のクエリで引き続き使用できるためです。


関連するデータベースユーザーFILE権限を持っている場合は、次のコマンドを使用できます。

SELECT LOAD_FILE(*PFAD ZUR DATEI*)

クエリ中に、ファイルが存在するかどうかを確認するだけでなく、その内容を読み取ります。

Windowsシステムでは、ファイルへのパスのバックスラッシュをそれに応じてマークする必要があることに注意してください(例:C:\\ Windows \\ System32 \\ drivers \\ etc \\ hosts)。 FILE権限が付与されると、データベースへのアクセスは自動的にファイルシステムの残りの部分へのアクセスを意味するため、セキュリティの側面も完全に無視してはなりません。

NULL値が返されるだけでなく、MySQLを実行しているユーザーが読み取り権限を持っていることを確認する必要があります。

大きなファイルにアクセスするには、1MBに設定されているグローバルプロパティ「max_allowed_pa​​cket」を増やす必要があります。

mysql -u... -p...
set global max_allowed_packet = 1024 * 1024 * 512;
exit;

これで、(サーバーを再起動した後)最大512MBのサイズのファイルにアクセスできます。

バック