Visualizzazione risultati 1 fino 18 di 18

Discussione: [PHP]Eliminare immagini dopo caricamento pagina?

  1. #1
    redirecthttp non è connesso Neofita
    Data registrazione
    19-03-2015
    Messaggi
    28

    Question [PHP]Eliminare immagini dopo caricamento pagina?

    Salve forum, volevo chiedervi, qual è la funzione che permette di eseguire un'altra operazione quando la pagina si è già caricata?
    Ad esempio io voglio eliminare le immagini, dopo che la pagina si è già caricata, in modo tale che le immagini siano visibili al momento, ma già cancellate.
    Ho provato con la funzione sleep e dopo gli unlink, ma così facendo la pagina attende solo il caricamento e quindi viene eseguita "tutta insieme" lo stesso, in poche parole come vengono caricate le immagini, così vengono eliminate.
    Mi servirebbe una funzione invece che eliminasse queste quando la pagina è già stata caricata.
    Io avevo provato così, ma come già detto non può funzionare:
    Codice PHP:
    <?php
    */Tralascio il codice per il caricamento dell immagine e lo spostamento di essa nella directory...*/

    set_time_limit(0);

    $seconds = 10;
    sleep($seconds);

    array_map('unlink',glob("http://redirecthttp.altervista.org/images/".$_FILES['image']['name']));
    array_map('unlink',glob("http://redirecthttp.altervista.org/images/".$_FILES['image2']['name']));
    array_map('unlink',glob("http://redirecthttp.altervista.org/images/".$_FILES['image3']['name']));



    ?>
    Come posso risolvere???
    Ringrazio anticipatamente!!!!
    Ultima modifica di redirecthttp : 01-08-2015 alle ore 14.13.10

  2. #2
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Credo che la soluzione migliore sia utilizzare ajax in modo da richiamare una seconda pagina PHP che provvederà a cancellare l'immagine dopo che essa è stata correttamente visualizzata o caricata nel browser dell'utente.
    Apprezzi l'aiuto? Offrimi un caffè!

  3. #3
    redirecthttp non è connesso Neofita
    Data registrazione
    19-03-2015
    Messaggi
    28

    Predefinito

    Non si potrebbe tipo, utilizzare una funzione che pianifichi l'operazione dell'eliminazione dopo ad esempio un sec dal caricamento della pagina?

  4. #4
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Si ma con ajax. Altrimenti devi utilizzare una cron jobs in php che ti elimini tutti i files il cui nome o la data dell'ultima modifica sia maggiore di un TOT di tempo.

    Al tuo posto utilizzerei ajax via jQuery.
    Apprezzi l'aiuto? Offrimi un caffè!

  5. #5
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Ma leggere il file temporaneo e utilizzare quello? ($_FILES['file']['tmp_name']). Non ci ho mai provato, ma in qualche modo si dovrebbe riuscire a far qualcosa.

    Ciao!

  6. #6
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Ci avevo pensato anche io... ma ciò implica che PHP, visto che la path è irraggiungibile da client-side, dovrebbe assumere e mostrare l'immagine.
    Apprezzi l'aiuto? Offrimi un caffè!

  7. #7
    redirecthttp non è connesso Neofita
    Data registrazione
    19-03-2015
    Messaggi
    28

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Ma leggere il file temporaneo e utilizzare quello? ($_FILES['file']['tmp_name']). Non ci ho mai provato, ma in qualche modo si dovrebbe riuscire a far qualcosa.

    Ciao!
    Ho già provato ma non funziona.
    Citazione Originalmente inviato da miki92 Visualizza messaggio
    Ci avevo pensato anche io... ma ciò implica che PHP, visto che la path è irraggiungibile da client-side, dovrebbe assumere e mostrare l'immagine.
    Non saprei come lavorare con jQuery perché non lo conosco :(
    Ultima modifica di redirecthttp : 01-08-2015 alle ore 20.47.29

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da redirecthttp Visualizza messaggio
    Ciò provato ma non funziona, comunque non saprei come lavorare con jQuery perché non lo conosco :(
    Con jQuery ti muovi lato client, mentre per maipolare l'immagine già caricata ti serve un linguaggio lato server (PHP)

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Intendevo una cosa del genere o simile (fonte):

    (p.s: non ho tempo di provarlo: forse non funzionerà!)
    Codice PHP:
    $imageData = file_get_contents( $_FILES['file']['tmp_name'] );

    $im = imagecreatefromstring( $imageData );

    ob_start();
    imagepng($img);
    $png = ob_get_clean();
    $uri = "data:image/png;base64," . base64_encode($png);

    echo
    "<img src=" . $uri /* URI goes here */ . "alt=\"the image\" />";
    Ciao!
    Ultima modifica di alemoppo : 01-08-2015 alle ore 20.25.19

  10. #10
    redirecthttp non è connesso Neofita
    Data registrazione
    19-03-2015
    Messaggi
    28

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Intendevo una cosa del genere o simile (fonte):

    (p.s: non ho tempo di provarlo: forse non funzionerà!)
    Codice PHP:
    $imageData = file_get_contents( $_FILES['file']['tmp_name'] );

    $im = imagecreatefromstring( $imageData );

    ob_start();
    imagepng($img);
    $png = ob_get_clean();
    $uri = "data:image/png;base64," . base64_encode($png);

    echo
    "<img src=" . $uri /* URI goes here */ . "alt=\"the image\" />";
    Ciao!
    No ho già provato questi e altri simili script ma non vanno :(
    Poi la risposta del jQuery era riferita a miki92
    Non so se può essere d'aiuto, ma un po' di tempo fa se non sbaglio avevo visto un header con delle istruzioni all'interno che permettevano di eseguire l'azione senza il redirect ad un'altra pagina....
    Mo non so....
    Citazione Originalmente inviato da vplaza Visualizza messaggio
    Con jQuery ti muovi lato client, mentre per maipolare l'immagine già caricata ti serve un linguaggio lato server (PHP)
    Sì la parte teorica l'avevo già vista un po'. Ma se dovessi farlo praticamente non saprei da dove cominciare con il jQuery.
    Ultima modifica di redirecthttp : 01-08-2015 alle ore 20.46.25

  11. #11
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    La mia risposta non è riferita a jQuery.
    Con jQuery sei a conoscenza del fatto che se una persona in qualche modo non manda la richiesta di eliminazione, la foto rimarrà su server?
    Se vuoi usare ajax con jQuery, è molto facile, vedi qui.

    Citazione Originalmente inviato da redirecthttp Visualizza messaggio
    No ho già provato questi e altri simili script ma non vanno :(
    Ma non devi provare script! Non funziona così: tu devi fare il tuo per il tuo caso specifico. È molto difficile trovare uno script pronto da incollare che faccia quel che vuoi.

    EDIT:
    Citazione Originalmente inviato da redirecthttp Visualizza messaggio
    Non so se può essere d'aiuto, ma un po' di tempo fa se non sbaglio avevo visto un header con delle istruzioni all'interno che permettevano di eseguire l'azione senza il redirect ad un'altra pagina....
    Mo non so....
    Semplicemente, quello è un redirect lato PHP, del tipo:
    Codice PHP:
    header('Location: pagina.php');
    Ciao!
    Ultima modifica di alemoppo : 01-08-2015 alle ore 20.52.50

  12. #12
    redirecthttp non è connesso Neofita
    Data registrazione
    19-03-2015
    Messaggi
    28

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio


    Ma non devi provare script! Non funziona così: tu devi fare il tuo per il tuo caso specifico. È molto difficile trovare uno script pronto da incollare che faccia quel che vuoi.
    No, ma gli script erano miei, configurati in più modi ma non va.
    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    EDIT:

    Semplicemente, quello è un redirect lato PHP, del tipo:
    Codice PHP:
    header('Location: pagina.php');
    Ciao!
    Sì sì questo ovviamente già lo conoscevo, mi riferivi ad altri tipi di header.
    Comunque mi adopero con il jQuery e vedo cosa riesco a fare grazie.

  13. #13
    redirecthttp non è connesso Neofita
    Data registrazione
    19-03-2015
    Messaggi
    28

    Predefinito

    Ho provato a creare l'eliminazione di un file dal server raggiunto un orario... Come potrei fare in modo che vada in esecuzione in automatico senza essere cliccato il link??
    ecco lo script
    Codice PHP:

    <?php

    $orario
    = date('H:i:s');

    if (
    $orario=='23:50:00')
    {
    array_map('unlink',glob("cartella/file.txt"));
    }else{
    echo
    "Error";
    }

    ?>

  14. #14
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    http://blog.altervista.org/it/nuovo-...ate-cron-jobs/

    Comunque, per quel che vuoi fare, non mi sembra che abbia molto senso.

    Ciao!

    EDIT:

    ah, ovviamente anche una richiesta ajax, ma deve esserci un visitatore con la pagina aperta.
    Ultima modifica di alemoppo : 02-08-2015 alle ore 01.12.50

  15. #15
    redirecthttp non è connesso Neofita
    Data registrazione
    19-03-2015
    Messaggi
    28

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    http://blog.altervista.org/it/nuovo-...ate-cron-jobs/

    Comunque, per quel che vuoi fare, non mi sembra che abbia molto senso.

    Ciao!

    EDIT:

    ah, ovviamente anche una richiesta ajax, ma deve esserci un visitatore con la pagina aperta.
    ok grazie

  16. #16
    redirecthttp non è connesso Neofita
    Data registrazione
    19-03-2015
    Messaggi
    28

    Predefinito

    Un'ultima cosa, ho provato a creare uno script che elimini il contenuto delle cartelle ma mi da errore alla riga 13 e non riesco proprio a correggerlo. Dove sbaglio?
    Codice PHP:
    <?php
    $directory
    = "images";

    if (
    is_dir($directory)) {
    if (
    $directory_handle = opendir($directory)) {

    while ((
    $file = readdir($directory_handle)) !== false) {

    if((!
    is_dir($file))
    array_map('unlink',glob($file)); //riga errore
    }

    closedir($directory_handle);
    }
    }

    ?>

  17. #17
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    In questa riga:
    Codice PHP:
    if((!is_dir($file))
    Apri 3 parentesi e ne chiudi 2.

    Ciao!

  18. #18
    redirecthttp non è connesso Neofita
    Data registrazione
    19-03-2015
    Messaggi
    28

    Predefinito

    Che errore ignorante.... Grazie!

Regole di scrittura

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