2010-07-28 85 views
1

不知道我應該如何命名帖子的標題。php:與isset方法的區別?

我在我的頁面上有一個submitbutton,它爲我創建一個文件夾。只要我按下它。網站自動刷新。我的文檔中沒有設置腳本,表示頁面應該刷新。只是當我提交任何東西時發生,對吧?

if (isset($_POST['createDir'])) { 
    $dir = $_POST['dirname']; 
    $targetfilename = PATH . '/' . $dir; 
    if (!is_dir($targetfilename)) { 
     mkdir($targetfilename); 
     chmod($targetfilename, 0777); 
    } else { 
     echo "Folder exists!"; 
    } 
} 

在我的腳本中,我有點相同的東西來刪除文件和文件夾。

if (isset($_POST['deleteBtn'])) { 
    chmod(PATH, 0777); 
    foreach ($_POST['deletefiles'] as $value) { 
      unlink(PATH . '/' . $value); 
    } 
    echo "<META HTTP-EQUIV=Refresh CONTENT='0'>"; //doesn't work without it! 
} 

如果我點擊submitbutton刪除一個文件夾的頁面不刷新。即使腳本正常工作並且文件被刪除。創建文件夾的腳本和刪除文件的腳本之間的區別在哪裏?我其實並沒有真正理解它。

問候亞光

+0

瘋狂的猜測:_「你進一步下去」_ =>你已經顯示列表後? – Wrikken 2010-07-28 23:59:23

+0

所以「創建文件夾」和「刪除文件夾」按鈕被放置在一個窗體中,對嗎?如果你點擊一個按鈕,頁面會被表單重新加載,但是如果你按另一個按鈕,什麼都不會發生,頁面不會重新加載?或者你的意思是頁面被重新載入,但並不總是顯示更新的內容? – catchmeifyoutry 2010-07-29 00:04:31

+0

。而且我不確定只是內容不能正確顯示或頁面不刷新。但是,如果我不手動刷新與元刷新頁面的內容,我列出的文件不會更新。文件get被刪除,但LIST(它是我所有文件的列表)不會更新。 – matt 2010-07-29 00:07:45

回答

1

好吧,我們在評論擴展談話後,我想我現在可以肯定地說,這是什麼地方出了錯。考慮到這是你的代碼執行順序:如果按在創建文件夾按鈕

  1. 貫穿於目錄中創建的文件夾和所有文件路徑存儲在變量
  2. 如果刪除文件夾/文件按鈕被按下,刪除的文件夾/文件
  3. 顯示在步驟2

在這種情況下檢索到的目錄中的內容,該錯誤是,上述步驟2和3 應被切換爲!如果您首先列出所有文件,然後再刪除一些文件,那麼它將不會反映在刪除之前從列表中獲得的輸出中。

一般來說,您要先處理任何用戶命令來創建/刪除/修改文件和目錄,並且只在最後時刻列出文件系統的最新狀態。