私は次の定数を持っています:FSROOT
それは次のように設定されています:getcwd()
。この定数はアプリのどこでも使用でき、パスについて心配する必要はありません。例:require_once(FSROOT . '/includes/php/something.php)
。
ただし、最近アプリにいくつかのファイルを実装しました。特定のイベントでは、いくつかのファイルを削除する必要があります。ローカルで行うことは次のとおりです。
unlink( FSROOT . '/somefile.pdf' );
そして、これは私のローカル環境で完璧に機能します。ただし、サーバーではエラーが発生します。
unlink(): open_basedir restriction in effect. File(/mnt/var/[...]/app/somefile.pdf) is not within the allowed path(s): (/var/[...]/app/)
したがって、問題/mnt/
は返されるディレクトリにあるようですgetcwd()
が、許可されたパスと一致しません!
FSROOT
パスは。以外のすべての関数で使用できるため、少し混乱していunlink()
ます。これは私がそれを変えたくない理由でもあります。ファイルを削除する別の方法はありますか?または、使用する別の定数を手動で作成する必要がありunlink()
ますか?
または、getcwd()に代わるものを使用する必要がありますか?