Php,循环后重新加载页面

问题描述:

我有一个页面,其中列出了每个复选框的服务器文件夹中的所有文件。它工作正常,除了最后3行代码,我希望它重新加载整个页面。在下面的例子中,它将它引入无尽的更新。如果我将echo向上移动到if声明中,但它只会删除其中一个已检查的列表项。我需要它删除所有选中的项目,然后重新加载页面。请协助。Php,循环后重新加载页面

<form id="delete" action="" method="POST"> 
<?php 
    $files = array(); 
    $dir = opendir('.'); 
    while(false != ($file = readdir($dir))) { 
     if(($file != ".") and ($file != "..") and ($file != "download-ui.php") and ($file != "delete.php") and ($file != "error_log") and ($file != "favicon.ico")) { 
      $files[] = $file; 
     } 
    } 

natcasesort($files); 

foreach ($files as $file) { 
    echo '<li class="browse-file"> 
     <div class="select-all-col"><input name="select[]" type="checkbox" class="select" value="'.$file.'"/> 
      <a href="download-ui.php?name='.$folderName."/".$file.'" style="cursor: pointer;">'.$file.'</a> 
     </div> 
     <br /> 
    </li>'; 
    } 

?> 

<button type="submit" form="delete" value="Submit">Delete File/s</button> 
</form></div> 


<?php 
if(isset($_POST['Submit'])) 
{ 
}  
    foreach ($_POST['select'] as $file) { 

    if(file_exists($file)) { 
     unlink($file); 
    } 
    elseif(is_dir($file)) { 
      rmdir($file); 
    } 
    } 
echo '<META HTTP-EQUIV="Refresh" Content="0; URL='.$location.'">'; 
exit; 
?> 
+0

您已关闭if()before foreach only。检查 –

+0

将所有处理代码放入页面顶部,然后再呈现给页面。那么你不应该刷新....除非你有一些特殊的目的来刷新这样的...... ?? – Rasclatt

+0

@Rasclatt我需要它刷新,所以它再次显示列表,不删除项目,所以他们可以选择更多的项目来删除或下载剩下的文件。我将移动代码,看看会发生什么 – Kilisi

将所有处理代码放在页面顶部,然后呈现到页面上。那么你不需要刷新。它会处理你的删除,然后根据剩下的加载剩余的页面。

<?php 
if(isset($_POST['Submit'])){ 
    foreach ($_POST['select'] as $file) { 
     if(file_exists($file)) 
      unlink($file); 
     elseif(is_dir($file)) 
      rmdir($file); 
    } 
} 

$files = array(); 
$dir = opendir('.'); 
while(false != ($file = readdir($dir))) { 
    if(($file != ".") and ($file != "..") and ($file != "download-ui.php") and ($file != "delete.php") and ($file != "error_log") and ($file != "favicon.ico")) { 
      $files[] = $file; 
    } 
} 

natcasesort($files); 
?> 
<form id="delete" action="" method="POST"> 
<?php 
foreach ($files as $file) { 
echo '<li class="browse-file"> 
     <div class="select-all-col"><input name="select[]" type="checkbox" class="select" value="'.$file.'"/> 
     <a href="download-ui.php?name='.$folderName."/".$file.'" style="cursor: pointer;">'.$file.'</a></div> 
     <br /> 
    </li>'; 
    } 
?> 
<button type="submit" form="delete" value="Submit">Delete File/s</button> 
</form></div>