2013-04-16 84 views
0

我正在爲我建立的網站製作內容管理系統。我希望系統是獨立的,所以我只將它存在於一個名爲'_admin.php'的PHP文件中。此文件中顯示的所有內容都來自包含我存儲在名爲'admin'的子文件夾中(不受影響)。將上傳的文件移動到根目錄

網站上使用的照片存儲在位於根目錄中的「資產」文件夾中。管理頁面可直接訪問資產文件夾,因爲它也位於根目錄中。但是上傳文件腳本在「admin」文件夾中放置了幾個目錄,我希望上傳的文件存儲在assets文件夾中。

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

    } 

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

+0

你可以發佈與此事有關的代碼嗎? – 2013-04-16 19:26:37

+0

這是一個全方位的地方。該網站使用30個文件哈哈。我將使用上傳腳本更新帖子。 – user1537360

回答

0

如果可以,我會指定完整的絕對文件路徑。我通過define()在我的CMS的配置文件中設置了此項。在安裝時,你可以找出這條路徑並設置它。

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

您可能會尋找更多的東西一般,但你可以有某種形式的安裝腳本的用戶可以在其中輸入基本信息到表單,如用戶名,PWD等,你可以讓他們進入這條路也是如此。

+0

我之前並沒有聽說過這個功能,它看起來很酷。似乎常量只存在於腳本中,所以在我的上傳腳本中,常量不存在。它是否正確?謝謝! – user1537360

+0

是的你是正確的,它只存在於它所設置的腳本中。我將我的配置文件包含在我的CMS中的每個腳本中,所以對我來說這不是問題。你可以做同樣的事情,只要將它設置在一個文件中,並將該文件包含在你想要使用它的任何其他腳本的頂部。 – Revent

+0

但是,如果我可以成功地定位配置文件,那麼我就可以將資源無論如何,這意味着不需要配置文件夾。我的問題是將目標定位在保存我的上傳腳本的目錄之上。你有什麼想法?我可能會用不同的標題重新發布這個問題。謝謝。 – user1537360

相關問題