Как удалить файл из данного каталога, выбранного с раскрывающимся списком HTML? - PullRequest
0 голосов
/ 26 апреля 2020

У меня пока есть этот код. Когда я пытаюсь переместить файл в удаленную папку из папки, выбранной в раскрывающемся меню, он не работает. Он отображает содержимое папки, но когда я пытаюсь переместить их, я получаю ошибку, переменная $ dir не была указана. Я перепробовал все, но ничего не получалось. Этот код удаляет данные из базы данных просто отлично. Но он не перемещается из папки.

     Folder:<select name="listings">
     <option value="folder1/"<?php echo (isset($_GET['listings']) && $_GET['listings'] == 'folder1') ? 'selected="selected"' : ''; ?>>Folder1</option>
     <option value="folder2/"<?php echo (isset($_GET['listings']) && $_GET['listings'] == 'folder2') ? 'selected="selected"' : ''; ?>>Folder2</option>
  </select>
     <button type="submit">Select</button>
     </form>
   <?php
    include "./mydbconnect.php";

    $dir = $_GET['listings'];


 if (!isset($_POST['submit'])) {
       if ($dp = opendir($dir) ) {

           $files = array();
           while (($file = readdir($dp)) !== false) {
               if (!is_dir($dir . $file)) {
                   $files[] = $file;
               }
           }

           closedir($dp);

       } else {
           exit('Error');
       }
       if ($files) {
           echo '<form action="' . $_SERVER['PHP_SELF'] . '" method="post">';

           foreach ($files as $file) {
               echo '<label class="container"><input type="checkbox" name="files[]" value="' . $file . '" style="opacity:0"/>' . $file . '<span class="checkmark"></span><br />';
               echo('--------------------------------</br>');
           }
           echo"<hr>";

           echo'<label class="container">Select to delete';
           echo '<input type="checkbox" name="check1" style="opacity: 00;"><span class="checkmark"></span></label>';
           echo"</br>";

           echo '<input type="submit" name="submit" class="btn-warn bt-warn" value="Delete" />';
           echo "</form></label>";

       } else {
           exit('Empty folder');
       }
   } else {
       if (isset($_POST['files'])) {
           if(isset($_POST['check1'])){

           foreach ($_POST['files'] as $value) {

               echo($value.' ---> Deleted<br/>');
               echo"------------------------------------</br>";
               rename($dir.$value, 'deleted/'.$value);

               $sql = "DELETE FROM $table Where file_name = '$value'";
               $mysqli->query($sql) or die($mysqli->error);



           }

           echo '<form  action="' . $_SERVER['PHP_SELF'] . '" method="post">';
           echo '<input type="submit"  value="Back" />' .
                '</form>';
           }
           else{
            echo('Not checked');
            echo '<form  action="' . $_SERVER['PHP_SELF'] . '" method="post">';
           echo '<input type="submit"  value="Back" />' .
                '</form>';
            exit();
           }

   } else {
            echo('No file selected.');
            echo '<form  action="' . $_SERVER['PHP_SELF'] . '" method="post">';
           echo '<input type="submit"  value="Vissza" />' .
                '</form>';
            exit();
       }
   }```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...