簡體   English   中英

將上傳的文件移到根目錄

[英]Move uploaded file to root directory

我正在為自己建立的網站制作內容管理系統。 我希望系統是離散的,因此我使它僅存在於一個名為'_admin.php'的PHP文件中。 該文件中顯示的所有內容均來自我存儲在名為“ admin”的子文件夾中(不包括在內)的所有內容。

網站上使用的照片存儲在“資產”文件夾中,該文件夾也位於根目錄中。 管理員頁面可以直接訪問資產文件夾,因為它也位於根目錄中。 但是上載文件腳本位於“ admin”文件夾中的幾個目錄中,我希望將上載的文件存儲在資產文件夾中。

move_uploaded_file()方法采用文件的目標路徑,但它需要直接路徑。 我嘗試使用$_SERVER['DOCUMENT_ROOT'] ,但是生成的目錄似乎沒有我的任何文件。 如果我在根目錄的文檔中使用getcwd() ,它將返回我可以使用的實際文件結構。 如果我回顯__FILE__ 但是我已經多次嘗試使用該SERVER常量,但是無法使用它定位我的網站。

由於上傳圖像的腳本被稱為表單操作,因此我無法將根目錄作為變量傳遞。

不太確定我在做什么錯,有人有任何想法嗎?

謝謝

編輯**

//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();

    }

我當前正在使用的上傳腳本。 該腳本可以正常工作,因為我將圖像存儲在與腳本相同的目錄中。 我只是不知道如何將它們存儲在我的根目錄中。

如果可以的話,我將指定完整的絕對文件路徑。 我通過在CMS的配置文件中通過define()進行設置。 在安裝時,您要弄清楚該路徑是什么並進行設置。

define("BASEFILEPATH", "/home/.../[webroot]");   // The base file path for the website

您可能正在尋找更通用的東西,但是您可能會擁有某種安裝腳本,用戶可以在其中將基本信息輸入用戶名,pwd等格式,也可以讓他們輸入此路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM