Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Cancellare un file con un link

    Ciao a tutti
    Ho fatto una semplice galleria che legge le immagini da una cartella e mostra la thumbnail col link all'immagine grande.
    Ora vorrei mettere un link affianco alla thumbnail che mi cancelli sia l'immagine che la thumb.
    Il nome delle immagini è sempre nomeimmagine.jpg e l'altra small_nomeimmagine.jpg
    So che dovrei usare unlink() ma non so assolutamente la sintassi, nè so come dire a un link "fai unlink() su quel file"

    Sapete dirmi come uscire da questo tunnel?

  2. #2
    per cancellare un file basta ke fai unlink(nomefile); e il gioco è fatto!

    PS: se nn conosci la sintassi vai sul sito di php! (es. http://it2.php.net/unlink)
    phac
    www.service4pc.it
    Servizi per il computer e non solo!

  3. #3
    Utente di HTML.it L'avatar di Sgurbat
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    - Clicchi sul link con cui vuoi cancellare il file passandogli magari una variabile
    - recuperi la varibile da PHP per conferma ed esegui l'unlink();

    Ciao.

  4. #4
    Intendevo la sintassi con cui scrivere i link e passare la variabile :P
    Ho risolto facendo così
    Codice PHP:
    <a href="$PHP_SELF?var=nomeimmagine.jpg"
    e poi un
    Codice PHP:
    if ($delete) {
        
    unlink("img/$delete");
        
    unlink("img/thumb/small_$delete");
        } 
    che cancella sia l'immagine che la thumbnail, però funziona solo con register_global su on

  5. #5
    allora evita assolutamente di usare le register_globals o almeno assicurati di usarle in modo sicuro, perchè potresti ritrovarti tutte le immagini eliminate da un'utente pericoloso...

    cmq per farle funzionare anche senza r_g:
    Codice PHP:
    <a href="file.php?var=nomeimmagine.jpg"
    e poi utilizzare nel file.php:
    Codice PHP:
    $delete $_GET['var'];

    // metti qui un controllo sul contenuto della var
    // $delete (tanto x sicurezza)
    if ($delete) {
        
    unlink("img/$delete");
        
    unlink("img/thumb/small_$delete");

    phac
    www.service4pc.it
    Servizi per il computer e non solo!

  6. #6
    Grazie mille non avevo pensato al GET, sono alle prime armi ^^
    Ma ora per impedire che qualcuno scriva nell'url il nome di un immagine per cancellarla come posso fare su un Host che ha register_globals su ON?

    E' ovvio che cmq la pagina in cui è possibile cancellarle sarà protetta da password, se avete consigli sono ben accetti ^^

  7. #7
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    Originariamente inviato da Iria
    Grazie mille non avevo pensato al GET, sono alle prime armi ^^
    Ma ora per impedire che qualcuno scriva nell'url il nome di un immagine per cancellarla come posso fare su un Host che ha register_globals su ON?

    E' ovvio che cmq la pagina in cui è possibile cancellarle sarà protetta da password, se avete consigli sono ben accetti ^^
    elabora il nome dell'immagine nel get.
    ad esempio:
    Codice PHP:
    $nome="cane.jpg";
    $var=base64_encode($nome);
    //nel link ci metti $var, non $nome
    //nell'altra pagina:
    $var=$_GET["var"];
    $nome=base64_decode($var); 

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  8. #8
    anche il metodo del base64 potrebbe, e dico potrebbe, xkè una volta capito come funziona l'algoritmo siamo da capo.
    potresti utilizzare una var di sessione e settare un valore a tuo piacimento, meglio se complicato.

    crea od utilizza una pagina x impostarla, magari quella quando fai il login (se lo fai) oppure la stessa x creare l'elenco dei link, o dove ti pare
    Codice PHP:
    <?php

    session_start
    ();
    $_SESSION['KEY'] = "dsfds3f43dsf4d";

    ?>
    dopidiche, nella pagina file.php
    Codice PHP:
    $delete $_GET['var'];

    if (isset(
    $_SESSION['key'] && $_SESSION['key']=="dsfds3f43dsf4d") {
        
    // metti qui un controllo sul contenuto della var
        // $delete (tanto x sicurezza)
        
    if ($delete) {
            
    unlink("img/$delete");
            
    unlink("img/thumb/small_$delete");
        }

    phac
    www.service4pc.it
    Servizi per il computer e non solo!

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.