ディレクトリが必要です

Jun 23, 2016 pm 01:57 PM
require 目次

osadmin のディレクトリは次のとおりです


Index.php は、uploads ディレクトリにあり、
init.inc.php は、uploads/include ディレクトリにあります
config.inc.php は、uploads/include/config ディレクトリにあることに注意してください

index.php:
require ('./include/init.inc.php');

init.inc.php:
require 'config/config.inc.php';
論理的に言えば、 Index.php ページで、config.inc を探します。 .php ページのパスは、uploads/config/config.inc.php であるはずですが、これは間違ったパスですが、実際の操作ではなぜこのパスが見つかるのでしょうか?どうやって見つけたのか説明してもらえますか?

絶対パスでも相対パスでもないパスを分析することに意味はありますか?

(補足) include_path: '.;C:phppear'


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

init.inc.php:

require 'config/config.inc.php'

init.inc .php には config.inc.php が含まれていませんか? もちろん見つかります。

phpはエントリファイルのパスを参照していませんか?つまり、config.inc.php を探すときは、「uploads/config/config.inc.php」というパスに従って検索する必要がありますが、明らかにこのパスは存在せず、存在するのは「uploads/include/config」です。 /config.inc.php」。そうではありませんか?

require 'config/config.inc.php';

init.inc.php で実行されていませんか?
したがって、uploads/include/config/config.inc.php のみが存在するので、もちろんそれをロードします

#2 の説明は正しいです
Uploads/config/config.inc.php ファイルがある場合、このファイルは次のようになります
言い換えれば、このメソッドを使用してアプリケーション システムの動作を妨害することができます

以下は、require リクエスト ファイルの処理を記述した私の疑似コードです。それが正しいかどうかを確認してください:

相対パス: が前に続きます。 ./ または ../ パス (「./include/init.inc.php」など)
疑似相対パス: 先頭に ./ または ../ がなく、絶対パスではないパス (「config/config.php」など) inc.php'
現在の作業ディレクトリ: Web 環境、つまりエントリ ファイルが配置されているディレクトリ

if(path为绝对路径){    file_path=path;}else if(path为相对路径){    file_path=conbine(当前工作目录,path);}else{    //伪相对路径    dir_list=include_path;    dir_list.add(当前工作目录);    dir_list.add(调用语句所在目录);    foreach(dir_list as dir){        temp_path=conbine(dir,path);        if(temp_path存在){            file_path=temp_path;            return;        }    }}
ログイン後にコピー

Index.php ページにアクセスする場合
'config/config.inc.php' が必要です
実際には有効になるのは
file_path=conbine (呼び出しステートメントが配置されているディレクトリ、パス) です
ここで呼び出しステートメントが配置されているディレクトリは、init.inc.php ファイルが配置されているディレクトリです。正しく見つけられます。

はい、そうです

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Googleドキュメントに目次を挿入する方法 Googleドキュメントに目次を挿入する方法 Apr 13, 2023 pm 08:16 PM

記事、論文、チュートリアルのいずれであっても、ドキュメントの主なハイライトはタイトル、そしてもちろん目次です。これは、ユーザーが文書のどこから何を読みたいのかを理解できるように、文書の概要構造を説明します。また、ほとんどの文書に目次を追加して、文書をよりプロフェッショナルに見せることもベスト プラクティスです。今日では、すべてがオンラインで行われ、ほとんどのドキュメントの作成に Google ドキュメントが使用されています。多くのユーザーは、Google ドキュメントに目次を挿入または追加する方法がまだわかりません。したがって、この記事では、Google ドキュメントで目次を作成または挿入する方法を説明します。 Google ドキュメントに目次を挿入する方法 ステップ 1: ここをクリックして Google ドキュメント オンラインにアクセスします。ステップ 2: 場合

vue3+vite: src に画像を動的にインポートするために require を使用するときのエラーを解決する方法 vue3+vite: src に画像を動的にインポートするために require を使用するときのエラーを解決する方法 May 21, 2023 pm 03:16 PM

vue3+vite:src は、イメージとエラー レポートと解決策を動的にインポートするために require を使用します。vue3+vite は複数のイメージを動的にインポートします。vue3。TypeScript 開発を使用している場合、イメージを導入するために require のエラー メッセージが表示されます。requireisnotdefined は使用できません。 vue2 のような imgUrl:require(' .../assets/test.png') は、typescript が require をサポートしていないため、インポートされます。そのため、import が使用されます。解決方法は次のとおりです: awaitimport を使用します

Java の File.isDirectory() 関数を使用して、ファイルが存在するかどうか、またディレクトリ タイプであるかどうかを確認します。 Java の File.isDirectory() 関数を使用して、ファイルが存在するかどうか、またディレクトリ タイプであるかどうかを確認します。 Jul 24, 2023 pm 06:57 PM

Java の File.isDirectory() 関数を使用して、ファイルが存在し、ディレクトリ タイプであるかどうかを確認します。Java プログラミングでは、ファイルが存在し、ディレクトリ タイプであるかどうかを確認する必要がある状況によく遭遇します。 Java には、ファイルやディレクトリを操作するための File クラスが用意されており、isDirectory() 関数は、ファイルがディレクトリ タイプであるかどうかを判断するのに役立ちます。 File.isDirectory() 関数は File クラスのメソッドであり、その機能は現在のファイルを確認することです。

PHP 関数の紹介 - rename(): ファイルまたはディレクトリの名前を変更する PHP 関数の紹介 - rename(): ファイルまたはディレクトリの名前を変更する Jul 25, 2023 pm 12:10 PM

PHP 関数の紹介 - rename(): ファイルまたはディレクトリの名前変更 はじめに: PHP では、rename() 関数を使用してファイルまたはディレクトリの名前を変更します。ファイルまたはディレクトリの名前を簡単に変更する方法を提供します。単一のファイルであっても、ディレクトリ全体であっても、この関数を使用して名前変更操作を実行できます。名前変更プロセスは、ソース ファイルまたはディレクトリの名前とターゲット名を指定することで簡単に実行できます。構文: boolrename(string$source,str

PHP の glob() 関数は、ファイルまたはディレクトリを検索するために使用されます。 PHP の glob() 関数は、ファイルまたはディレクトリを検索するために使用されます。 Nov 18, 2023 pm 06:17 PM

PHP の glob() 関数は、ファイルまたはディレクトリを検索するために使用され、強力なファイル操作関数です。指定されたパターン一致に基づいてファイルまたはディレクトリのパスを返すことができます。 glob() 関数の構文は次のとおりです。 glob(pattern, flags) ここで、 pattern は照合するパターン文字列を表し、*.txt (.txt で終わるファイルの照合) などのワイルドカード式にすることができます。特定のファイルパス。 flags は、関数を制御するために使用されるオプションのパラメータです。

Linuxでディレクトリが空かどうかを確認する方法 Linuxでディレクトリが空かどうかを確認する方法 Mar 20, 2023 am 10:17 AM

Linux でディレクトリが空かどうかを確認する方法: 1. Linux ターミナルにアクセスします; 2. "res=`ls -A $dir` if [ -z $res ]; then echo "$dir ..."else を実行します。 echo "$ dir..."fi" メソッドは、ディレクトリが空かどうかを判断できます。

path/filepath.Dir 関数を使用して、ファイル パスのディレクトリ部分を取得します。 path/filepath.Dir 関数を使用して、ファイル パスのディレクトリ部分を取得します。 Jul 27, 2023 am 09:06 AM

path/filepath.Dir 関数を使用して、ファイル パスのディレクトリ部分を取得します。日常の開発プロセスでは、ファイル パスの処理が頻繁に行われます。場合によっては、ファイル パスのディレクトリ部分、つまりファイルが存在するフォルダーへのパスを取得する必要があります。 Go 言語では、path/filepath パッケージによって提供される Dir 関数を使用してこの関数を実装できます。 Dir 関数のシグネチャは次のとおりです。 funcDir(pathstring)string Dir 関数は単語を受け取ります。

require の用途は何ですか? require の用途は何ですか? Nov 27, 2023 am 10:03 AM

require の使用法: 1. モジュールの導入: 多くのプログラミング言語では、require は外部モジュールまたはライブラリを導入し、それらが提供する関数をプログラム内で使用できるようにするために使用されます。たとえば、Ruby では、require を使用してサードパーティのライブラリまたはモジュールをロードできます。 2. クラスまたはメソッドのインポート: 一部のプログラミング言語では、require を使用して特定のクラスまたはメソッドをインポートし、現在のファイルで使用できるようにします。 ; 3. 特定のタスクを実行する: 一部のプログラミング言語またはフレームワークでは、特定のタスクまたは関数を実行するために require が使用されます。

See all articles