1

初めまして:タイトル失礼します。そもそも自分の問題に名前を付ける方法が本当にわからなかったので、それを置き換えるために何かを作成できる場合は、それを行ってください. とはいえ、重複している可能性は非常に高いですが、私はこのことを乗り越える必要があると考え、何を検索すればよいかわかりませんでした...

ベースサイトは私が作ったものではありません。ほとんどが HTML だけで書かれていましたが、PHP を使用してインクルージョンが行われており、その作成方法が本当に好きではありません。しかし、これは私がここで尋ねようとしている質問とは無関係になりつつあります。

ここに記載されているファイルには、ここに記載されている内容よりも多くのものが含まれていますが、ここでの問題は、
多くのファイルを必要とするファイル B を必要とするファイル A を必要とする場合、ファイル B が探しているファイルを見つけることができないことです。

たとえば、次のようなディレクトリ ツリーがあるとします。

| - Project
+--- lower.txt
| -- Stuff
| ---- Case
+------ index.php
+------ upper.php
| -- Gallery
+---- main.php
+---- config.php
+---- miscfunc.php
+---- css.php

プロジェクト\スタッフ\ケース\index.php:

<?php include("./upper.php");?> ...
<?php include("../../lower.txt");?>

プロジェクト\スタッフ\ケース\upper.php:

<?php require_once("../../Gallery/main.php"); ?>

プロジェクト\ギャラリー\main.php:

<?php namespace Gallery;
...
// I'm just trying to debug something here... :
// -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- //

$PathToScan = "./"; // Scan current directory, will point to /Project/Stuff/Case/

function ScanFolder($path) {
    $Array = array();
    if ($dir = @opendir($path)) {
        while (($file = readdir($dir)) !== FALSE) {
            $Array[] = $file;
        }
        printf("Current directory: %s<br/>\n", dirname(__FILE__));
        printf("document_root: %s<br/>\n", $_SERVER["DOCUMENT_ROOT"]);
        printf("Scan directory: %s<br/>\n<br/>\n", $path);
        var_dump($Array);
    }
}
ScanFolder($PathToScan);

// -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- //

require_once("./config.php"); // These files are also in Gallery namespace
require_once("./miscfunc.php");
require_once("./css.php"); ...

...
?>

だから... Project\Stuff\Case\index.phpを実行すると、次のようになります。

Current directory: C:\xampp\htdocs\Project\Gallery
document_root: C:/xampp/htdocs
Scan directory: ./

array(4) { [0]=> string(1) "." [1]=> string(2) ".." [2]=> string(9) "index.php" [3]=> string(7) "upper.php" }
Warning: require_once(./config.php) [function.require-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\Project\Gallery\main.php on line 44

Fatal error: require_once() [function.require]: Failed opening required './config.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\Project\Gallery\main.php on line 44

なぜこれが起こるのですか?ファイルを移動せずに、できればmain.phpを壊さずに、どうすればこれを機能させることができますか?

4

1 に答える 1