ホームページ >バックエンド開発 >PHPチュートリアル >PHPセッションが有効になった後に挿入された間違ったファイルパス
セッションを使用してバックエンドにログインします。フロントエンドのindex.phpにログインし、ファイルを挿入すると、バックエンドのtop.phpが実行されます。ルートディレクトリにあるものではなく、top.php が読み取られます。現地では問題ありません。サーバーに到達するとすぐに問題が発生しました。
ローカルとサーバーはどちらも win2003 + php5.2.5 です
絶対パスはありません。すべて相対パスです。
require_once('top.php');
ロードされるのは、現在のファイルが置かれているディレクトリ内の top.php です
require_once('top.php') ;
ロードされるのは、現在のファイルが配置されているディレクトリの top.php です
ディレクトリ構造を指定します
エラー メッセージを投稿して見てください
エラー メッセージを投稿して見てください
ディレクトリ構造:
/root ディレクトリ
└- --top.php
└---index.php
? > login.php でログインした後、ルート ディレクトリにあるindex.php にアクセスすると、ルートにある top.php が読み込まれるのではなく、manage/top.php が読み込まれます。ディレクトリ
非常に奇妙な問題です
専門家が来て見てください 何が起こっているのか!
ログインフォームのアクションはmanage/login.phpではないでしょうか?
現在のパスを表示するには、index.php で getcwd() を使用します
現在のパスを確認するには、getcwd() を使用して、index.php で現在のパスを表示します
ローカルで正しいディレクトリを返します
リモートで返す: c:windowssystem32inetsrv
└ └ └ └
挿入top.php into index.php
login.php でログインした後、ルート ディレクトリにあるindex.php をロードするのではなく、manage/top をロードします。ルートディレクトリのtop.php
非常に奇妙な問題
Index.php にアクセスするときに require を使用する場合、それは正しいです。なぜなら、それが require("index.php") であれば、現在のディレクトリの Top と同等だからです。ディレクトリ (login.php) もインポートされます。requrire が使用されていない場合、何が起こっているのかわかりません
正しいパスを返すには、管理下で引き続き top.php を呼び出します。
問題はまだ解決していませんが、ご覧いただきありがとうございます。
誰か良いアイデアがあれば、私に連絡してください!