ホームページ  >  記事  >  バックエンド開発  >  PHPセッションが有効になった後に挿入された間違ったファイルパス

PHPセッションが有効になった後に挿入された間違ったファイルパス

WBOY
WBOYオリジナル
2016-06-23 13:56:371039ブラウズ

セッションを使用してバックエンドにログインします。フロントエンドのindex.phpにログインし、ファイルを挿入すると、バックエンドのtop.phpが実行されます。ルートディレクトリにあるものではなく、top.php が読み取られます。現地では問題ありません。サーバーに到達するとすぐに問題が発生しました。
ローカルとサーバーはどちらも win2003 + php5.2.5 です
絶対パスはありません。すべて相対パスです。


ディスカッションへの返信 (解決策)

require_once('top.php');
ロードされるのは、現在のファイルが置かれているディレクトリ内の top.php です

require_once('top.php') ;
ロードされるのは、現在のファイルが配置されているディレクトリの top.php です



現在のディレクトリの top.php はロードされませんが、バックグラウンドの top.php がロードされます

ディレクトリ構造を指定します

エラー メッセージを投稿して見てください

エラー メッセージを投稿して見てください


エラー メッセージがない場合は、manage 配下の 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


ディレクトリ構造: 目 /root ディレクトリ
└ --- Top.php └ └ ---index.php └ └ └ └ --- 管理(フォルダ)

└ └ └ └

挿入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 を呼び出します。


問題はまだ解決していませんが、ご覧いただきありがとうございます。
誰か良いアイデアがあれば、私に連絡してください!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。