Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    60

    Cancellare file sul server con php

    Dopo aver caricato un file video sul server, ho difficoltà a cancellarlo. Vorrei passare il file da cancellare alla funzione unlink() tramite un form (non inserendolo manualmente). Così come per caricarlo vorrei quindi cancellarlo inserendo il nome del file in un modulo. Chi mi da una "sostanziale" informazione in proposito? Ciao a tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    60
    Nessuno sa darmi questa informazione?

  3. #3
    Il metodo che vuoi usare (UNLINK) è corretto.
    Non capisco quindi cosa ti possa servire!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    60
    Grazie dell'attenzione alcio74, faccio un esempio io carico un video o un'immagine magari da far vedere poi in una galleria fotografica in una pagina del sito, e lo faccio con un modulo, e fin qui ok, ma volendola togliere o cambiare con una nuova dovrei cancellarla con la funzione unlink che giustamente mi chiede il nome ed il percorso dove trovarla. Come gli passo questa informazione? E' questo programmino che deve gestire la cancellazione che ho difficoltà a realizzare.

  5. #5
    Quando carichi il video, lo salverai in una cartella del tuo sito ed avrà un nome.
    Non so se ti appoggi ad un database o meno, ma magari hai un riferimento al video.
    Spiegami come carichi/salvi i file nella cartella e poi ti aiuto a capire come costruire un link per cancellarli.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    60
    Ecco quello che uso:
    Il modulo:
    <?PHP
    echo "


    <font face=\"verdana\" size=\"2\">
    Usa il tasto Sfoglia per cercare il file sul tuo PC da caricare sul server

    scelto questo premere il tasto Carica File per fare l'Upload sul server

    lo ritroverete nella cartella<font color=\"red\"> upload <font color=\"black\">posta nella cartella della script.
    </font>
    </p>
    ";
    echo "


    <form enctype='multipart/form-data' action='upload.php' method='POST'>
    <input type='file' name='trasferimento' size='90'>


    <input type='submit' name='Upload' value='Carica File'>
    </form>";
    ?>
    e poi il programmino upload.php
    <?PHP
    $fileup = $_FILES['trasferimento']['tmp_name'];
    $destinazione= 'upload/'."\\".$_FILES['trasferimento']['name

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    60
    Quello completo:

    Ecco quello che uso:
    Il modulo:
    <?PHP
    echo "


    <font face=\"verdana\" size=\"2\">
    Usa il tasto Sfoglia per cercare il file sul tuo PC da caricare sul server

    scelto questo premere il tasto Carica File per fare l'Upload sul server

    lo ritroverete nella cartella<font color=\"red\"> upload <font color=\"black\">posta nella cartella della script.
    </font>
    </p>
    ";
    echo "


    <form enctype='multipart/form-data' action='upload.php' method='POST'>
    <input type='file' name='trasferimento' size='90'>


    <input type='submit' name='Upload' value='Carica File'>
    </form>";
    ?>
    e poi il programmino upload.php
    <?PHP
    $fileup = $_FILES['trasferimento']['tmp_name'];
    $destinazione= 'upload/'."\\".$_FILES['trasferimento']['name'];
    $dim = @filesize ($fileup) / 4096;
    if (move_uploaded_file($fileup,$destinazione))
    {
    echo "<font face =\"verdana\">";
    echo "

    Upload OK!

    File Caricato con Successo: ";
    echo "<font color=\"red\">";
    echo "<u>";
    echo $_FILES['trasferimento']['name'];
    echo " Kb: ";
    echo $dim;
    echo "</u>";
    echo "</font>";
    }
    else
    {
    echo "<font face =\"verdana\">";
    echo "Upload non riuscito!";
    echo "
    Il file deve essere inferiore a 2Mb
    ";
    echo "Se si vuole caricare un file di dimensioni superiori a 2 Mb
    modificare l'apposita voce nel file php.ini
    ";
    echo "Leggere attentamente la guida sul sito ";

    echo "</font>";
    }
    ?>
    sto testando il tutto in localhost.
    Scusa per il ritardo ma prima sono dovuto uscire. Adesso mi sposto dove non ho un collegamento internet. Domattina potrei vedere la tua risposta, in ogni caso la vedrò quando avrai tempo di inviarla. Grazie.

  8. #8
    Cancellare un file caricato in questa maniera potrebbe essere arduo, visto che non rimane traccia di alcun riferimento.
    Ad ogni modo, puoi leggere la cartella dove salvi i file con GLOB().
    Questa funzione ritorna un array con i nomi dei file che trova nella cartella di lettura.
    Per ottenere una lista di file, con dei riferimenti per cancellarne singolarmente uno per volta, devi ciclare l'array e costruire un link che punta ad una pagina che si occupa di effettuare l'unlink.
    Ti spiego come con 2 righe di codice
    Codice PHP:
    <?php 
    // lista_files.php
    $array_file glob("upload/*.*");

    foreach (
    $array_file AS $file) {
     echo 
    "<a href=\"cancella_file.php?nome_file=$file\">$file</a>
    }
    ?>
    È ovvio, spero, che in questa procedura, il nome di ogni singolo file sarà il contenuto dell'array.

    Di seguito il listato dello script di cancellazione:
    Codice PHP:
    <?php 
    // cancella_file.php
    $file $_GET['nome_file'];

    unlink("$file") OR DIE("Impossibile cancellare il file");
    echo 
    "File cancellato correttamente";
    ?>
    Ho scritto qui di getto per cui potrebbero esserci dei problemini nello script che non ho considerato.
    Spero però che tu abbia recepito il meccanismo.
    Quello che mi va di sottolineare è che con questo metodo, si hanno dei limiti dovuti al nome del file: se ci sono per esempio, spazi o caratteri speciali, l'unlink potrebbe saltare.
    Quando ottieni l'array dei file con il GLOB, mandalo in stampa con PRINT_R().
    Non ricordo se nel nome del file è già compreso il path completo di cartella oppure no!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    60
    Ci studio sopra. Mille grazie alcio74.

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    60
    Funziona perfettamente. Mi sei stato di grande aiuto Grazie.

    Mi dicevi all'inizio che caricare un file così poteva essere arduo.. quale potrebbe essere il modo che vedresti meglio da utilizzare?
    ... Buona Pasqua.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.