Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Aran
    Registrato dal
    Nov 2002
    Messaggi
    1,529

    Delete file, conoscendo solo parte del nome?

    Ciao a tutti!

    Insomma , la domanda è:

    Posso dalla mia amministrazione eliminare un file, conoscendone solamente una parte del nome?
    Per esempio, in una cartella ho alcune immagini:

    img3_4.jpg
    img1_4.jpg
    img9_4.jpg
    img3_5.jpg
    img3_6.jpg

    Io posso eliminare solamente quelle che hanno "_4.jpg", e quindi fare il controllo solamente di una determinata parte del nome, come in quersto caso dopo l'underscore e se corrsiponde eliminarla?

    Grazie mille in anticipo
    Mi diceva sempre: "Mai mangiare a stomaco vuoto..."

    Frank Cianuro - Aeroplane - Aran Blog - No Spez la Catena.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434
    Certo, con le PCRE:

    codice:
    <?php
    $dir = "/tuadirectory/"; //la directory con i file (fai finire la stringa con /)
    $open = opendir($dir);
    while ($file = readdir($open)) {
      if (preg_match('/^.*_4\.jpg$/', $file) && $file != "." && $file != "..") {
        unlink($dir.$file);
      }
    }
    closedir($open);
    ?>

  3. #3
    Utente di HTML.it L'avatar di Aran
    Registrato dal
    Nov 2002
    Messaggi
    1,529
    Ok, adesso provo, però rima una domanda:

    Ogni vlta che devo cancellare un file, opppure devo uplodare un filesul server, è consigliato mettere sempre

    Codice PHP:
    opendir($dir);

    closedir($open); 

    per accerede alla cartella??
    Oppure è lo stesso mettere solamente unlink() direttamente? :master:
    Mi diceva sempre: "Mai mangiare a stomaco vuoto..."

    Frank Cianuro - Aeroplane - Aran Blog - No Spez la Catena.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434
    o_O opendir serve ad aprire una cartella, che c'azzecca con i file

    Unlink serve a cancellare un file. Vai un po' su php.net :

    http://php.net/opendir
    http://php.net/closedir
    http://php.net/readdir
    http://php.net/unlink
    http://php.net/move_uploaded_file
    http://php.net/copy
    http://php.net/is_uploaded_file

  5. #5
    Utente di HTML.it L'avatar di Aran
    Registrato dal
    Nov 2002
    Messaggi
    1,529
    Ok capito, però non riesco a capire bene come funziona sto preg_match!


    preg_match('/^.*_4\.jpg$/', $file) && $file != "." && $file != "..")

    Io qua analizzo un file che si chiama:

    img3_4.jpg

    e se esiste img3"_4" vine cancellato..ma se volessi fare il contrllo su di un file così:

    img3_4_12.jpg

    e cancellare i file che hanno "_12"? :master:

    Perdonami ma non ho capito come si svolge il controllo all'interno del nome del file!
    Mi diceva sempre: "Mai mangiare a stomaco vuoto..."

    Frank Cianuro - Aeroplane - Aran Blog - No Spez la Catena.

  6. #6
    Utente di HTML.it L'avatar di Gunn
    Registrato dal
    Feb 2006
    Messaggi
    370
    Originariamente inviato da Aran
    Ok capito, però non riesco a capire bene come funziona sto preg_match!


    preg_match('/^.*_4\.jpg$/', $file) && $file != "." && $file != "..")

    Io qua analizzo un file che si chiama:

    img3_4.jpg

    e se esiste img3"_4" vine cancellato..ma se volessi fare il contrllo su di un file così:

    img3_4_12.jpg

    e cancellare i file che hanno "_12"? :master:

    Perdonami ma non ho capito come si svolge il controllo all'interno del nome del file!
    devi scorrere la cartella dove si trovano i file
    salvarti il nome di tutti i file che contengono la stringa _12
    cancellarli

    lo script che ti hanno postato è perfetto

    Codice PHP:
    <?php
    $cancella_i_file_che_contengono 
    "_4";
    $dir "/tuadirectory/";
    $open opendir($dir);
    while (
    $file readdir($open))
    {
    if (
    preg_match("/" $cancella_i_file_che_contengono ."/i"$file) && $file != "." && $file != "..") {
        
    unlink($dir.$file);
      }
    }
    closedir($open);
    ?>

  7. #7
    Utente di HTML.it L'avatar di Aran
    Registrato dal
    Nov 2002
    Messaggi
    1,529
    Ok, ho rpovato funzia perfettamente

    Grazie mille a tutti
    Mi diceva sempre: "Mai mangiare a stomaco vuoto..."

    Frank Cianuro - Aeroplane - Aran Blog - No Spez la Catena.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.