0

私が構築した Web サイトのコンテンツ管理システムを作成しています。システムを個別にしたいので、'_admin.php' という 1 つの PHP ファイルだけに存在するようにしました。このファイルに表示されるすべてのコンテンツは、「admin」というサブフォルダーに保存したインクルードから取得されます (邪魔にならない)。

Web サイトで使用される写真は、ルート ディレクトリにある「assets」フォルダーに保存されます。管理ページはルートにもあるため、assets フォルダーに直接アクセスできます。しかし、アップロード ファイル スクリプトは「admin」フォルダーにいくつかのディレクトリを配置し、アップロードされたファイルを assets フォルダーに保存する必要があります。

このmove_uploaded_file()メソッドはファイルの宛先パスを取りますが、直接パスが必要です。を使用してみ$_SERVER['DOCUMENT_ROOT']ましたが、結果のディレクトリに私のファイルがないようです。ルートのドキュメントで使用すると、使用getcwd()できる実際のファイル構造が返されます。エコーアウトしても同じです__FILE__。しかし、私はこの SERVER 定数を何度も試しましたが、それを使用して自分の Web サイトを見つけることができません。

画像をアップロードするスクリプトはフォームアクションとして呼び出されるため、ルートディレクトリを変数として渡すことはできません。

私が間違っていることはよくわかりません。誰かアイデアはありますか?

ありがとう

編集 **

//See if Files array contains new files
if (!empty($_FILES['file'])){

    foreach($_FILES['file']['name'] as $key => $name){

        $error = $_FILES['file']['error'][$key];
        $temp_name = $_FILES['file']['tmp_name'][$key];
        $dir = getcwd();
        $move_file = move_uploaded_file($temp_name, "$dir/temp/$name");

        if (($error == 0) && ($move_file)){

            $uploaded[] = $name;

        }else{

            die($error);

            }   



        }

        echo __FILE__;
        echo "<br/>";
        echo __DIR__;
        echo "<br/>";
        echo $_SERVER['DOCUMENT_ROOT'];
        exit();

    }

現在使用しているアップロード スクリプト。スクリプトと同じディレクトリに画像を保存しているため、このスクリプトは正常に機能します。それらをルートに保存する方法がわかりません。

4

1 に答える 1