ホームページ > バックエンド開発 > PHPチュートリアル > php ファイル_無効なソリューションが存在します_PHP チュートリアル

php ファイル_無効なソリューションが存在します_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:54:28
オリジナル
823 人が閲覧しました

方法1: 公式マニュアルによると、PHPチュートリアルのセーフモード関連の設定が厳しすぎると、実際にはファイルが存在するにもかかわらず、ファイルが存在しないと誤って報告される状況が発生します。
サーバー側で php.ini を制御することはできず、ini_set() を使用するときにセーフ モードをオフにすることもできないため、次善の手段に頼って、ファイルがファイルに存在するかどうかを検出する、より信頼性が高く安全な検出方法を見つけることしかできません。存在します。これは、$_server['document_root'] の助けを借りて実現できます。 $_server['document_root'] は、Web サイトのルート ディレクトリを返します。ディレクトリの最後のサブディレクトリには、次のようなディレクトリ識別子「/」が含まれません。

d:/www/htdocs

検出する必要があるファイルのルート ディレクトリとパスを使用して絶対パスを取得すると、PHP は file_exists() 関数を使用してそれを検出できます。上記のコードの最初の行のみを変更する必要があります (config.php の前に記号「/」を追加したことに注意してください):

$file=$_server['document_root']."/config.php"; このようにして、コードの実行の信頼性は非常に高く、予期しない結果は発生しません。


上記の方法は、ディレクトリ (is_dir()) またはファイル (is_file()) の関連検出関数にも適用でき、セキュリティで保護されたディレクトリまたはファイルが存在するかどうかを検出できます。

最後に、ちなみに、PHP の特別な設定によって保護されたファイルを参照する (include および require) 場合、$_server['document_root'] パスを追加する必要はありません。PHP ドキュメントによれば、それらのファイルは参照することが許可されているためです。 。

方法 2: 私の場合、ファイルは Windows と Linux の間で行き来しました。その結果、Linux 上のファイルやディレクトリのアクセス権限が変更され、ファイルの所有者以外はアクセス権限を持たなくなります。 chmod -r 755 xxx/* を使用すると問題が解決しました。

http://www.bkjia.com/PHPjc/632318.html

本当http://www.bkjia.com/PHPjc/632318.html技術記事方法1:公式マニュアルによると、PHPチュートリアルのセーフモード関連の設定が厳しすぎると、実際にはファイルが存在するのに存在しないと誤って報告される事態が発生するとのこと。 ...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート