私はユーザーが画像をアップロードできるWebページを作成しています。ファイルシステムを使って画像を保存します。この種のデータを保存するのに最適なディレクトリが何であるかを知りたいです。/var/
ディレクトリですか?/srv/
目次?それとも別のディレクトリですか?
答え1
ディレクトリパスを選択する前に考慮する必要があるいくつかの要因があります。最良のディレクトリは、予想されるファイルボリュームを保存するのに十分な容量を持ち、適切な保護レベルを持ち、標準パッケージによって上書きされたり複雑になる危険性がないディレクトリです。
/srv/www
または/srv/images
両方とも大丈夫です。FHS規格に規定されています。また、推奨または/var/www
推奨/var/images
されません。
答え2
好きな場所に保管してください!これがあなたのファイルシステムなら、これはあなたが好むものです。正しい権限があることを確認してください。
編集する: @jlliagreが以下に述べるように、いくつかのファイルシステムの場所はこれらの画像を保存するのにまったく適していないので、上記は少し誇張されています。
複数のユーザーがいて、各ユーザーに独自のイメージディレクトリがある場合は、次のことをお勧めします/home/[user]/images
。
単一のディレクトリ内のすべてのイメージに簡単にアクセスするには、次のように/var/www/img/user_uploads/[user]
(またはOSによって同様の方法で)実行します。
ただし、各ユーザーとワーカープロセスへの正しいアクセスレベルを維持しながら、各ユーザーに非公開にする必要があるパブリックアクセスを制限するには、権限が重要です。
既定では、公開権限を持つ一部のディレクトリはサブディレクトリに継承されます。したがって、これらの画像をに保存すると、/home/[user]/public_html/images
この動作を防ぐために必要な措置を講じない限り、インターネット全体でその画像にアクセスできます。
つまり、個人ディレクトリ(たとえば)に保存する場合、/home/user/images
Webサーバープロセス/ユーザーはそのディレクトリにアクセスするために明示的な権限が必要です。