Visualizzazione risultati 1 fino 5 di 5

Discussione: come cancellare file in una cartella

  1. #1
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito come cancellare file in una cartella

    Dovrei permettere di cancellare dei file posti in 2 cartelle separate.

    Ho preparato una funzione del genere che viene richiamata (e alla quale è passato l'id per la query) con un semplice link:


    Codice PHP:
    ......

    function
    delete($id) {
    $query = "SELECT * FROM images WHERE Id = '$id'";
    $esegui = mysql_query($query);
    while (
    $result = mysql_fetch_array($esegui)) {

    $result["Nome"];
    $result["thumb"];
    }

    $path_nome_filethumb = 'thumbnails/'. $result["thumb"];
    if (
    file_exists($path_nome_filethumb))
    {
    unlink($path_nome_filethumb);
    }

    $path_nome_filepho = 'photos/'. $result["Nome"];
    if (
    file_exists($path_nome_filepho))
    {
    unlink($path_nome_filepho);
    }




    mysql_query("delete from images WHERE Id=$id");

    }

    ...........


    I dati nel db vengono cancellati senza problema, invece il tentativo di eliminare i file nelle 2 cartelle fallisce con 2

    warning visualizzati:

    Warning: unlink(thumbnails/) [function.unlink]: Permission denied in C:\Programmi\xampp\htdocs\galleria\manager.php on line 114

    Warning: unlink(photos/) [function.unlink]: Permission denied in C:\Programmi\xampp\htdocs\galleria\manager.php on line 120



    Dove sbaglio? Come posso sistemare meglio il codice. Mi sembra (a prima vista) un po' dozzinale Embarrassed Grin


    Per il momento sto lavorando in locale sotto xampp in windows xp e in effetti già mi ero accorto che le 2 cartelle in questione avessero solo gli attributi di sola lettura (tasto destro-proprietà sulle cartelle), ma non riesco a cambiare l'impostazione.
    Tolgo il segno di spunta a "solo lettura" faccio ok ma poi se ricontrollo la spunta sull'attributo "solo lettura" c'è ancora.

    Cosa devo fare?

    Grazie
    Ultima modifica di gianlucaweb : 10-02-2010 alle ore 17.24.06

  2. #2
    Guest

    Predefinito

    Che significa questo?
    Codice PHP:
    while ($result = mysql_fetch_array($esegui)) {

    $result["Nome"];
    $result["thumb"];
    }
    Sostituiscilo con:
    Codice PHP:
    $result = mysql_fetch_array($esegui);

  3. #3
    Guest

    Predefinito

    Per cancellare una directory vuota si usa la funzione rmdir()

  4. #4
    Guest

    Predefinito

    Ma lui ha bisogno di cancellare un determinato file in una determinata cartella. Non gli funzionava perché faceva qualcosa di cui non ho ancora capito il senso, sinceramente. Comunque in quella maniera dovrebbe funzionare.

  5. #5
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da alessandro1997 Visualizza messaggio
    Che significa questo?
    Codice PHP:
    while ($result = mysql_fetch_array($esegui)) {

    $result["Nome"];
    $result["thumb"];
    }
    Sostituiscilo con:
    Codice PHP:
    $result = mysql_fetch_array($esegui);

    ah si ecco. Fatto grazie
    Ultima modifica di gianlucaweb : 10-02-2010 alle ore 22.47.35

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •