[PHP] Cancellare file da una cartella....

  • Creatore Discussione Creatore Discussione Trapano
  • Data di inizio Data di inizio

Trapano

Utente Attivo
27 Set 2012
238
0
16
49
Buona sera a tutti.
Ho il seguente script :
Codice:
<?php
// Definisco il path della cartella
$path = "home";
// Apro la cartella
$dir_handle = @opendir($path) or die("Non è possibile aprire $path");
// Lettura e ciclo dei files
while ($file = readdir($dir_handle)) {
if($file == "." ||
$file == ".."||
$file == "index.php"||
$file == ".ftpquota"||
$file == ".DS_Store"||
$file == "")
continue;
echo "home/$file<br><br>";
}
// Chiudo la cartella
closedir($dir_handle);
?>
Che mi elenca dei nome di immagini caricate in una cartella.
Vorrei inserire alla destra di ogni nome, un tastino che se cliccato me le cancelli. (anche senza troppi allarmi)
tipo clik, elimina e ricarica pagina....
Qualcuno mi può aiutare?
 
Ciao
Come hai detto al click elimina direttamente senza nessun controllo. Eventualmente dovrai fare qualche modifica.

PHP:
<?php
// Definisco il path della cartella
$path = "home";
// Apro la cartella
$dir_handle = @opendir($path) or die("Non è possibile aprire $path");
// Lettura e ciclo dei files

if (isset($_POST['photoname'])){
    $photoname = $path."/".$_POST['photoname'];
    if (!unlink($photoname)){
        echo ("Errore $photoname");
    }
    else{
        echo ("Cancellata $photoname");
    }
    header("Refresh:2");
}

while ($file = readdir($dir_handle)) {
    if($file == "." ||
    $file == ".."||
    $file == "index.php"||
    $file == ".ftpquota"||
    $file == ".DS_Store"||
    $file == "")
    continue;
    ?>
    <form method="post">
    <?php echo $file; ?>
    <input type="hidden" name="photoname" value="<?php echo $file; ?>">
    <input type="submit" name="submit" value="Delete">
    </form>
    <?php
    echo "<br><br>";
}
// Chiudo la cartella
closedir($dir_handle);
?>


Fammi sapere.
 
Qui adesso forse andiamo fuori tema... ma essendo questa una pagina "riservata" che proviene da un login... vorrei mettere un if else all'inizio che reindirizza alla homepage se non si proviene dalla pagina di login appunto... L'avevo da qualche parte ma non lo trovo più...
Il mio script "sicuro" di login è il seguente:
Codice:
session_start();

$usern= $_POST['user'];
if ($usern!='password'){
    $usern='index.php';
    }
    else
{
    header("Location: paginasicura.php");
    }
Solo se nel campo input scrivo "password" si accede alla paginasicura.php altrimenti si reindirizza alla index.php
 
Ultima modifica:
@Trapano
Da regolamento del forum sei tenuto ad inserire il codice usando il tag
code.jpg
in alternativa la funzione codice dalla barra degli strumenti
box inserisci 2.png.JPG

Ti prego inoltre di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
 
Nella tua parte di codice avvi la sessione ma non ne crei nessuna per effettuare il controllo, sarebbe sufficiente accedere direttamente alla paginasciura.php per poterla visualizzare.

Inoltre se fai un controllo come il tuo ora, ogni volta che andrai a cancellare le immagini dovrai passare l'utente nel form altrimenti ti porterà alla home ancora prima di cancellare.

Puoi fare un form che invia utente e password controlla se sono corretti e crea una sessione esempio:

index.php
PHP:
<?php
session_start();

if (isset($_GET['logout'])){
    session_destroy();
    echo "Logout Effettuato";
    header( "refresh:3;url=index.php" );
}else{
    if(isset($_SESSION['utenteprotetto'])){
        header("Location: paginasicura.php");
    }
    if(isset($_POST['submit'])){
        $utentePOST = $_POST['utente'];
        $passPOST = $_POST['password'];
        //Impostare utente e password autorizzati
        $utenteOK = "admin";
        $passOK = "123";
        if($utentePOST == $utenteOK AND $passPOST == $passOK){
            $_SESSION["utenteprotetto"] = $utenteOK;
            header("Location: paginasicura.php");
        }else{
            echo "Utente non Autorizzato!!!";
            header( "refresh:3;url=index.php" );
        }
       
    }else{
    ?>
    <form action="#" method="POST">
        Nome Utente: <input type="text" name="utente"><br>
        Password: <input type="text" name="password"><br>
        <input type="submit" name="submit" value="Accedi">
    </form>
    <?php
    }
}
?>

paginasicura.php
PHP:
<?php
session_start();
if(isset($_SESSION['utenteprotetto'])){
    //secondo controllo
    //impostare anche qua utente autorizzato
    if($_SESSION['utenteprotetto'] == "admin"){
        // Definisco il path della cartella
        $path = "home";
        // Apro la cartella
        $dir_handle = @opendir($path) or die("Non è possibile aprire $path");
        // Lettura e ciclo dei files

        if (isset($_POST['photoname'])){
            $photoname = $path."/".$_POST['photoname'];
            if (!unlink($photoname)){
                echo ("Errore $photoname");
            }
            else{
                echo ("Cancellata $photoname");
            }
            header("Refresh:2");
        }

        while ($file = readdir($dir_handle)) {
            if($file == "." ||
            $file == ".."||
            $file == "index.php"||
            $file == ".ftpquota"||
            $file == ".DS_Store"||
            $file == "")
            continue;
            ?>
            <form method="post">
            <?php echo $file; ?>
            <input type="hidden" name="photoname" value="<?php echo $file; ?>">
            <input type="submit" name="submit" value="Delete">
            </form>
            <?php
            echo "<br><br>";
        }
        // Chiudo la cartella
        closedir($dir_handle);   
        ?>
        <a href="home.php?logout">Esci</a>

        <?php
    }else{
        echo "Accesso non autirizzato!!!";
        header( "refresh:2; url=index.php" );
    }
}else{
    echo "Accesso non autirizzato!!!";
    header( "refresh:2; url=index.php" );
}
?>


Fammi sapere.
 
Ultima modifica:

Discussioni simili