Visualizzazione risultati 1 fino 30 di 30

Discussione: [PHP] Far cancellare dal lato client solo alcuni file

  1. #1
    Guest

    Predefinito [PHP] Far cancellare dal lato client solo alcuni file

    Il titolo non spiega tutto... Vorrei far cancellare dal lato client, solo alcuni file, cioè: in una cartella ho vari file (.html, .php, .txt) io vorrei far eliminare dal lato client, solo i file con estensione .txt
    Compe potrei fare?
    Lo vorrei (lo script) anche con la conferma, tipo: Vuoi davvero eliminare dj.txt? SI | NO
    ...grazie per l'aiuto!
    ...byex!

  2. #2
    Guest

    Predefinito

    Tu vuoi eliminare sul server dei file attraverso uno script, ho capito bene?
    In questo caso, però non ho messo la conferma, in questo momento non riesco a farmi venire in mente un modo semplice per inserirla :
    Codice PHP:
    $handle = opendir('./cartella-dei-file');
    while (
    false !== ($file = readdir($handle))){
    if(
    $file!="." && $file!=".."){
    $f = explode('.', $file);
    $n = count($f) - 1;
    if(
    strtolower($f[$n]) == "txt"){
    unlink($file);
    }
    }
    }

  3. #3
    Guest

    Predefinito

    prova cn qst altro script ke ti kiede quale file eliminare e poi ti kiede la conferma:
    Codice PHP:
    <?php
    $cartella
    = "cartella_file";
    $script="nome_script.php";
    if(!isset(
    $_GET['u'])){
    ?>
    <b>Scegli il file da eliminare:</b>
    <?php
    $handle
    =opendir("./".$cartella);
    while (
    false !== ($file = readdir($handle))){
    if(
    $file!="." && $file!=".." && (strlen($file) - 4 === stripos($file,".txt"))){
    echo
    "<br><a href='' onclick='if(confirm(\"Sicuro di voler eliminare $file?\")) location.href=\"prova.php?u=$file\";'>$file</a>";
    }
    }

    }else{
    if(
    unlink($cartella."/".$_GET['u'])){
    echo
    "location.href='$script';</script>";
    }else{
    echo
    "location.href='$script';</script>";
    }
    }
    ?>

  4. #4
    Guest

    Predefinito

    @ SoulHome: ho provato il tuo script, ma non mi funziona... Ecco come l'ho modificato:
    Codice PHP:
    <?php
    $cartella
    = "counter";
    $script="elimina.php";
    if(!isset(
    $_GET['u'])){
    ?>
    <b>Scegli il file da eliminare:</b>
    <?php
    $handle
    =opendir(./$cartella);
    while (
    false !== ($file = readdir($handle))){
    if(
    $file!="." && $file!=".." && (strlen($file) - 4 === stripos($file,".txt"))){
    echo
    "<br><a href='' onclick='if(confirm(\"Sicuro di voler eliminare $file?\")) location.href=\"elimina.php?u=$file\";'>$file</a>";
    }
    }

    }else{
    if(
    unlink($cartella."/".$_GET['u'])){
    echo
    "location.href='$script';</script>";
    }else{
    echo
    "location.href='$script';</script>";
    }
    }
    ?>
    cosa non và? Mi da un'errore del tipo:
    Parse error: syntax error, unexpected '.', expecting ')' in /membri2/turkosoft/prove/eliminare/elimina.php on line 8
    @ tuttoeniente2: il tuo script non l'ho provato, dato che non chiede la conferma! ;)

  5. #5
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Modifica questa riga:
    Codice PHP:
    $handle=opendir(./$cartella);
    Con questa:
    Codice PHP:
    $handle=opendir("./".$cartella);
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  6. #6
    Guest

    Predefinito

    @ funcool: ho corretto come mi hai suggerito, ma adesso esce questo errore:
    Fatal error: Call to undefined function: stripos() in /membri2/turkosoft/prove/eliminare/elimina.php on line 10

  7. #7
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Sostituisci questa riga:
    Codice PHP:
    if($file!="." && $file!=".." && (strlen($file) - 4 === stripos($file,".txt"))){
    Con questa:
    Codice PHP:
    if($file!="." && $file!=".." && (strlen($file) - 4 === strpos(strtolower($file),".txt"))){
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  8. #8
    Guest

    Predefinito

    @ funcool: ok adesso funziona al 50%, perchè il file non lo cancella... Cioè resta sempre li... cosa c'è ancora che non va?!?

    PS: grazie x l'aiuto!

  9. #9
    Ospite Guest

    Predefinito

    prova a mettere:


    if(unlink("./".$cartella."/".$_GET['u'])){

  10. #10
    Guest

    Predefinito

    turko...scusa x gli errori...ma l'avevo provato in locale cn php 5...
    cmq qst codice l'ho testato qui su alterivtsa...
    Codice PHP:
    <?php
    $cartella
    = "cartella";
    $script="script.php";
    if(!isset(
    $_GET['u'])){
    ?>
    <b>Scegli il file da eliminare:</b>
    <?php
    $handle
    =opendir("./".$cartella);
    while (
    false !== ($file = readdir($handle))){
    if(
    $file!="." && $file!=".." && (strlen($file) - 4 === strpos(strtolower($file),".txt"))){
    echo
    "<br><a href='' onclick='if(confirm(\"Sicuro di voler eliminare $file?\")) location.href=\"prova.php?u=$file\";'>$file</a>";
    }
    }

    }else{
    if(
    unlink($cartella."/".$_GET['u'])){
    echo
    "location.href='$script';</script>";
    }else{
    echo
    "location.href='$script';</script>";
    }
    }
    ?>

  11. #11
    Ospite Guest

    Predefinito

    Come mai in opendir("./".$cartella); c'è il "./" e in unlink() non c'è? Sei sicuro di averlo testato SoulHome?

  12. #12
    Guest

    Predefinito

    @ Soul: non mi cancella i file...

  13. #13
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da TurkoSoft
    @ Soul: non mi cancella i file...
    Non lo cancella perche non lo trova. Prova come ti ho detto io.

  14. #14
    Guest

    Predefinito

    Citazione Originalmente inviato da erminio
    Non lo cancella perche non lo trova. Prova come ti ho detto io.
    non funzia lo stesso...

  15. #15
    Ospite Guest

    Predefinito

    Prova il seguente codice per vedere se te li cancella senza conferma, poi pensiamo anche alla conferma.

    <?php
    $cartella = "nome cartella";
    $handle=opendir("./".$cartella);
    while (FALSE !== ($file = readdir($handle))){
    if($file!="." && $file!=".." && substr($file,strlen($file) - 4) == ".txt"){
    unlink("./".$cartella."/".$file);
    }
    }
    ?>

  16. #16
    Guest

    Predefinito

    raga vi giuro ke l'ho testato e funziona...
    http://soulhome.altervista.org/prova.php

  17. #17
    Ospite Guest

    Predefinito

    L'ho testato anch'io: Il seguente codice a condizione che la cartella si trovi sotto la home dir.


    <?php
    $cartella = "nome cartella";
    $handle=opendir("./".$cartella);
    while (FALSE !== ($file = readdir($handle))){
    if($file!="." && $file!=".." && substr($file,strlen($file) - 4) == ".txt"){
    unlink("./".$cartella."/".$file);
    echo "Deleted: $file<br>";
    }
    }
    ?>

  18. #18
    Guest

    Predefinito

    sisi...è esattamente quello...frs turko ha cambiato qlkosa...mha...

    ho provato e funge anke se sta in una sotto cartella:
    http://soulhome.altervista.org/a/prova.php
    Ultima modifica di SoulHome : 26-04-2006 alle ore 15.39.54

  19. #19
    Ospite Guest

    Predefinito

    Aspettiamo qualche risposta da TurkoSoft ....

  20. #20
    Guest

    Predefinito

    @ SoulHome: ecco il codice che mi hai dato tu, però con le mie mod:
    Codice PHP:
    <?php
    $cartella
    = "counter";
    $script="elimina.php";
    if(!isset(
    $_GET['u'])){
    ?>
    <b>Scegli il file da eliminare:</b>
    <?php
    $handle
    =opendir("./".$cartella);
    while (
    false !== ($file = readdir($handle))){
    if(
    $file!="." && $file!=".." && (strlen($file) - 4 === strpos(strtolower($file),".txt"))){
    echo
    "<br><a href='' onclick='if(confirm(\"Sicuro di voler eliminare $file?\")) location.href=\"elimina.php?u=$file\";'>$file</a>";
    }
    }

    }else{
    if(
    unlink("./".$cartella."/".$_GET['u'])){
    echo
    "location.href='$script';</script>";
    }else{
    echo
    "location.href='$script';</script>";
    }
    }
    ?>
    in pratica lo script non mi cancella il file...

  21. #21
    Guest

    Predefinito

    da qnt vedo l'unica mdifica ke hai fatto consiste nell'aver messo "./". nella funzione unlink...toglilo...

    ps
    poi mi spiegherai xkè se ti avevo postato un codice funzionante l'hai dovuto modificare e farci scervelalre tutti...

  22. #22
    Guest

    Predefinito

    Citazione Originalmente inviato da SoulHome
    da qnt vedo l'unica mdifica ke hai fatto consiste nell'aver messo "./". nella funzione unlink...toglilo...

    ps
    poi mi spiegherai xkè se ti avevo postato un codice funzionante l'hai dovuto modificare e farci scervelalre tutti...
    guarda che quello di "./". nella funzione unlink me l'ha suggerito erminio... cosa credi che ho il piacere di prendervi per il cul0?

    Adesso provo ad apportare qst modifiche e ti faccio sapere!

    EDIT: no, i file non me li elimina dalserver...
    Ultima modifica di TurkoSoft : 26-04-2006 alle ore 20.17.00

  23. #23
    Guest

    Predefinito

    uhmm molto strano...mi potresti postare un link?
    ps
    nella cartella con i file txt metti qst file php
    Codice PHP:
    <?
    $dir
    =opendir(".");
    echo
    "CONTENUTO<P>";
    while (
    $file = readdir($dir)){?>
    <A HREF=" <?= $file ?>"> <?= $file ?></A> <br>
    <?php }
    closedir($dir);
    ?>
    Ultima modifica di SoulHome : 26-04-2006 alle ore 20.25.39

  24. #24
    Guest

    Predefinito

    Eccolo, anche se è permanente: LINK

    EDIT: come si deve chiamare il 2° script da te postato?
    Ultima modifica di TurkoSoft : 26-04-2006 alle ore 20.28.11

  25. #25
    Guest

    Predefinito

    uhmm...usii explorer? fino ad ora l'avevo provato sl un ff...a quanto apre è un problema del javascript e non del php...ora vedo di correggerlo...
    ora nn c'è + bisogno ke metti il 2° file php

  26. #26
    Guest

    Predefinito

    Esatto, uso il nonno IE
    Cmq ho visto che mi hai cancellato 2 dei 3 file .txt presenti...

  27. #27
    Guest

    Predefinito

    uff...ora lo script funziona...anke se cn ie, non capisco xkè, qnd cancelli un file invece di riaprire la pag x cancellare apre la dir superiore....mha...+ tempo passa e + mi convinco ke ie fa schifo...
    Codice PHP:
    <?php
    $cartella
    = "script";
    $script="prova.php";
    if(!isset(
    $_GET['u'])){
    ?>
    <b>Scegli il file da eliminare:</b>
    <?php
    $handle
    =opendir("./".$cartella);
    while (
    false !== ($file = readdir($handle))){
    if(
    $file!="." && $file!=".." && (strlen($file) - 4 === strpos(strtolower($file),".txt"))){
    echo
    "<br><a href='' onclick='if(confirm(\"Sicuro di voler eliminare $file?\")) location.href=\"$script?u=$file\";'>$file</a>";
    }
    }

    }else{
    unlink($cartella."/".$_GET['u']);
    echo
    "<script>location.href='$script';</script>";
    }
    ?>
    ps
    se ti sembra ke non funzioni refresha...
    Ultima modifica di SoulHome : 26-04-2006 alle ore 20.58.21

  28. #28
    Guest

    Predefinito

    @ Soul: è incredibile ma... lo script non funziona! Ecco il LINK
    Cmq, quando riusciremo a farlo funzionare, dovremmo anche ovviare il problema che torna alla index...

  29. #29
    Guest

    Predefinito

    ora ho individuato dvvr il problema ed è tutto risolto...se te lo dico ti metti a ridere...mi sn scervellato tutto 'sto tempo xkè mi ero scordato di mettere # all'href:
    Codice PHP:
    <?php
    $cartella
    = "counter";
    $script="elimina.php";
    if(!isset(
    $_GET['u'])){
    ?>
    <b>Scegli il file da eliminare:</b>
    <?php
    $handle
    =opendir("./".$cartella);
    while (
    false !== ($file = readdir($handle))){
    if(
    $file!="." && $file!=".." && (strlen($file) - 4 === strpos(strtolower($file),".txt"))){
    echo
    "<br><a href='#' onclick='if(confirm(\"Sicuro di voler eliminare $file?\")) location.href=\"$script?u=$file\";'>$file</a>";
    }
    }

    }else{
    unlink($cartella."/".$_GET['u']);
    echo
    "<script language='javascript' type='text/javascript'> location.href='$script'; </script>";
    }
    ?>

  30. #30
    Guest

    Predefinito

    LOLLL grazie mille SoulHome... Adesso posso cominciare a lavorare sui miei magheggi... Ti ringrazio infinitamente!
    ...byex!

    FunCool: Visto che risolto, chiudo.
    Ultima modifica di funcool : 27-04-2006 alle ore 11.02.02

Regole di scrittura

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