Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684

    Eliminare un'immagine da una cartella

    Ciao,
    ho uno script che esegue l'upload di immagini in una cartella e scrive il percorso in un database mysql.

    Quando elimino un record viene cancellato tutto all'interno del db ma non l'immagine nella cartella: è possibile eliminarla in qualche modo tramite php così da evitare che si accumulino troppi files al suo interno?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    unlink(immagini/foto.jpg)

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684
    Grazie Dany per la risposta. Io nella mia pagina delte.php ho questo codice:

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");


    $del_sql = "DELETE FROM tab_news WHERE Id_news = " . $_POST['del'];
    mysql_query($del_sql);

    nel database ci sono 4 campi immagini.

    Dove e come la inserisco la funzione unlink??

    Ari grazie

  4. #4
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $sel_sql = "select immagine1,immagine2,immagine3,immagine4 FROM tab_news WHERE Id_news = " . $_POST['del'];
    $ris=mysql_query($sel_sql);

    while($rig = mysql_fetch_array($ris)){

    $file1="news/immagini/$rig[immagine1]";
    if (file_exists($file1)){unlink($file1);}

    $file2="news/immagini/$rig[immagine2]";
    if (file_exists($file2)){unlink($file1);}

    $file3="news/immagini/$rig[immagine3]";
    if (file_exists($file3)){unlink($file1);}

    $file4="news/immagini/$rig[immagine4]";
    if (file_exists($file4)){unlink($file1);}
    }

    $del_sql = "DELETE FROM tab_news WHERE Id_news = " . $_POST['del'];
    mysql_query($del_sql);

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684
    Grazie per la risposta immediata. Ho provato e mi dà questi errori:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource on line 17

    Warning: Cannot modify header information - headers already sent by on line 35

  6. #6
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    ok allora io mi collego al db in altro modo quindi questo

    $ris=mysql_query($sel_sql);

    potrebbe anche non essere corretto

    cmq

    prova

    $rig = mysql_fetch_array($ris))

    $file1="news/immagini/$rig[immagine1]";
    if (file_exists($file1)){unlink($file1);}

    $file2="news/immagini/$rig[immagine2]";
    if (file_exists($file2)){unlink($file1);}

    $file3="news/immagini/$rig[immagine3]";
    if (file_exists($file3)){unlink($file1);}

    $file4="news/immagini/$rig[immagine4]";
    if (file_exists($file4)){unlink($file1);}

    che tanto la news è solo una.....

    il messaggio ti dice che stampi a video qualche cosa e alla fine usi un header...cosa che non si può fare...solo che io dal tuo codice non vedo ne l'header ne l'echo o il print.....

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684
    Ho questo errore in linea 17:

    Parse error: syntax error, unexpected T_VARIABLE

    con questo codice

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $sel_sql = "select Img1,Img2,Img3,Img4 FROM tab_news WHERE Id_news = " . $_POST['del'];
    $rig = mysql_fetch_array($ris)

    $file1="img/$rig[Img1]";
    if (file_exists($file1)){unlink($file1);}

    $file2="img/$rig[Img2]";
    if (file_exists($file2)){unlink($file1);}

    $file3="img/$rig[Img3]";
    if (file_exists($file3)){unlink($file1);}

    $file4="img/$rig[Img4]";
    if (file_exists($file4)){unlink($file1);}


    $del_sql = "DELETE FROM tab_news WHERE Id_news = " . $_POST['del'];
    mysql_query($del_sql);


    Grazie ancora per la tua disponibilità

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684
    Ho messo un ; alla riga $rig.....

    ed ora ho

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource on line 15

    Warning: unlink(img/) [function.unlink]: Is a directory on line 18

    Warning: unlink(img/) [function.unlink]: Is a directory on line 21

    Warning: unlink(img/) [function.unlink]: Is a directory on line 24

    Warning: unlink(img/) [function.unlink]: Is a directory on line 27

    Warning: Cannot modify header information - headers already sent by (output started at del.php:15) on line 33


    :master:

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684
    Altra prova che ho fatto:

    <?php
    session_start();
    if ($_SESSION["status"] != "adm_logged") {
    header("Location: form.php");
    }
    include("config.inc.php");

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $sel_sql = "select immagine1,immagine2,immagine3,immagine4 FROM tab_news WHERE Id_news = " . $_POST['del'];
    $ris=mysql_query($sel_sql);

    while($rig = mysql_fetch_array($ris)){

    $file1="img/$rig[Img1]";
    if (file_exists($file1)){unlink($file1);}

    $file2="img/$rig[Img2]";
    if (file_exists($file2)){unlink($file1);}

    $file3="img/$rig[Img3]";
    if (file_exists($file3)){unlink($file1);}

    $file4="img/$rig[Img4]";
    if (file_exists($file4)){unlink($file1);}
    }

    $del_sql = "DELETE FROM tab_news WHERE Id_news = " . $_POST['del'];
    mysql_query($del_sql);

    header("Location: admin_index.php");

    ?>



    con il RELATIVO ERRORE....


    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource on line 17

    Warning: Cannot modify header information - headers already sent by (output started at del.php:17) on line 35



    Non riesco a venirne a capo ....:-(

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684
    Ho aggiunto la chiocciolina qui

    while($rig = @mysql_fetch_array($ris)){

    e l'errore è scomparso solo che non mi cancella nessun file dalla cartella ...

    BOOH!

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.