Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Aprire e subito dopo cancellare il file aperto

    Devo realizzare la seguente applicazione:

    Dentro una pagina PHP devo far aprire un file PDF ( mediante location.replace, window.open ma senza usare <a href="..."> ) possibilmente su un'altra pagina.
    Appena il file PDF viene chiuso voglio che venga eseguito un unlink(file.pdf) per cancellare il PDF aperto.

    Come faccio.

    Suggerimenti sul codice sono graditi

  2. #2
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    ma hai letto la mia risposta??????
    anke un cenno di assenso/dissenso alle volte è gradito...

    in ogni caso..

    Codice PHP:
    // file getpdf.php
    $file="path/alla/dir".$_GET["pdf"];
    header(...)// controlla l'opportuno header da usare nel tuo caso
    echo $file_get_contents($file);
    unlink($file); 
    richiami il file con getpdf.php?pdf=nome_del_pdf
    file_get_contents() vuole php>=4.3.0 se nn hai usa una sequenza fopen->fread->fclose

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  3. #3
    luke83 ricapitoliamo un pò la situazione.

    1) apro il file scarica.php?id=nomefile

    <html>
    <body>

    <?php

    $id = $HTTP_GET_VARS['id'];
    $id .= ".pdf";

    $url = "http://www.server.it/";

    $nomefile = "$url$id";

    $fp = fopen ($nomefile, "r");

    $tmp_file = "fatture/";
    $tmp_file .= "$id";

    $tmp = fopen ($tmp_file, "w"); // creo file temporaneo
    while (!feof($fp)) {
    $buffer = fread($fp, 128);
    fwrite($tmp, $buffer);
    }
    fclose($fp);

    echo"<script>window.open($id,'_blank')</script>";
    echo"<script>history.go(-1)</script>";
    ?>
    </body>
    </html>

    Cosa mi serve:

    a) dal punto 1) segue che mi viene aperto il file PDF in un'altra pagina ma voglio che mi venga cancellato il file PDF dopo l'apertura o comunque alla chiusura della nuova pagina.
    Quindi ti chiedo: l'unlink dove lo devo mettere ? Avevo provato a mettere nella pagina scarica.php uno script all'onUnLoad che mi chiamava un'altra pagina php che mi serviva per cancellare il file PDF ma non funziona.
    Inoltre avevo provato con header('$id') ma non mi apriva niente.

    Penso che ti sto facendo ripetere le stesse cose + di una volta e per questo ti chiedo scusa ma non ci sto capendo molto.

  4. #4
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    fai semplicemente così e vediamo se funge.. altrimenti aggiungici l'header, adesso lo puoi fare xkè la pagina nn ha output... leva tutto il codice html...lascia solo questo:

    Codice PHP:
    <?php

    // qui mi sa che va piazzato l'header per dirgli che deve aver a che fare con le pdf:
    // header("Content-type: application/pdf");

    $id $HTTP_GET_VARS['id'];
    $id .= ".pdf";

    $url "http://www.server.it/";

    $nomefile "$url$id";

    $fp fopen ($nomefile"r");

    $tmp_file "fatture/";
    $tmp_file .= "$id";

    $tmp fopen ($tmp_file"w"); // creo file temporaneo
    while (!feof($fp)) {
    $buffer fread($fp128);
    fwrite($tmp$buffer);
    }
    fclose($fp);

    unlink($tmp_file);

    ?>
    questo lo linki semplicemente come:
    codice:
    nome.pdf
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  5. #5
    Sto provando ma perdonami nel codice che mi hai postato manca l'aperturo del file scaricato !!

  6. #6
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    allora mettilo.. io ho fatto un copia ed incolla del tuo codice.. forse x questo nn andava e cmq pensavo una cosa ma a questo punto nn è più un proxy.. prendi e stampa a video la sorgente, che la salvi a fa su disco a sto punto credo...
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  7. #7
    effettivamente hai ragione.
    nuovo codice

    <?php

    // qui mi sa che va piazzato l'header per dirgli che deve aver a che fare con le pdf:
    header("Content-type: application/pdf");

    $id = $HTTP_GET_VARS['id'];
    $id .= ".pdf";

    $url = "http://www.server.it/";

    $nomefile = "$url$id";

    $fp = fopen ($nomefile, "r");

    $tmp_file = "fatture/";
    $tmp_file .= "$id";

    $tmp = fopen ($tmp_file, "w"); // creo file temporaneo
    while (!feof($fp)) {
    $buffer = fread($fp, 128);
    fwrite($tmp, $buffer);
    }
    fclose($fp);
    header("location:$tmp_file");
    echo"$tmp_file";
    unlink($tmp_file);

    ?>

    e lo apre adesso ma non lo cancella !!

  8. #8
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    è chiaro che nn lo cancella...

    Codice PHP:

    <?php

    // qui mi sa che va piazzato l'header per dirgli che deve aver a che fare con le pdf:
    header("Content-type: application/pdf");

    $id $HTTP_GET_VARS['id'];
    $id .= ".pdf";

    $url "http://www.server.it/";

    $nomefile "$url$id";

    $fp fopen ($nomefile"r");

    $tmp_file "fatture/";
    $tmp_file .= "$id";

    $tmp fopen ($tmp_file"w"); // creo file temporaneo
    while (!feof($fp)) {
    $buffer fread($fp128);
    fwrite($tmp$buffer);
    }
    fclose($fp);

    echo
    "$tmp_file";

    unlink($tmp_file);

    ?>
    prova così...
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  9. #9
    l' echo"$tmp_file"; mi restituisce in output il nome del file pdf

    l'unlink($tmp_file); non funziona

  10. #10
    ma non possiamo fare in modo che alla chiusura della pagina (onunload ) viene effettuato l'unlink ?

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.