Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    17

    Output di un immagine con php. Header sbagliati?

    Ciao a tutti, ho fatto un semplice script che riceve un'immagine, la modifica
    e la restituisce modificata come output.
    L'immagine viene visualizzata correttamente, ma quando dal browser provo a salvarla (con tasto destro e "salva immagine con nome") si verifica un problema: viene effettivamente salvato un file di nome "downloaded.jpg", ma occupa poco meno di 8kb e non è ovviamente l'immagine che vedo invece visualizzata nel browser.
    E' come se ci fosse qualcosa che non va con gli header, ma non riesco a capire quale sia il problema esatto.
    Mi viene da pensare che sia necessario specificare esattamente la dimensione in kb del'immagine nell'header, ma vedo che negli esempi in giro per la rete questo non viene mai specificato.

    Provo a postare il codice spiegandolo, sperando che riusciate ad aiutarmi:
    Codice PHP:
    <?php
    //Creo l'immagine dal file uploadato
    $img imagecreatefromjpeg('upload_img/'.$_FILES['image']['name']);

    //Dimensioni dell'immagine, larghezza e altezza
    $sx imagesx($img);
    $sy imagesy($img);

    //Ridimensiono l'immagine
    $resized_img imagecreatetruecolor(542,409);
    imagecopyresized($resized_img$img0000542,409$sx$sy);

    //Setto gli header
    header('Content-type: image/jpeg');
    header('Content-Length: '.filesize(imagejpeg($resized_img)));
    header('Content-Disposition: inline; filename="downloaded.jpg"');

    //Restituisco l'immagine in output
    imagejpeg($resized_img'downloaded.jpg');
    imagedestroy($resized_img);

    //Elimino il vecchio file immagine dal server (non il file restituito in output!)
    unlink('upload_img/'.$_FILES['image']['name']);
    exit;
    ?>

  2. #2
    Il problema è semplice, quando tenti il salvataggio, viene eseguita una nuova richiesta senza però il passaggio dei dati (nel tuo caso un POST di upload).

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    17
    Originariamente inviato da filippo.toso
    Il problema è semplice, quando tenti il salvataggio, viene eseguita una nuova richiesta senza però il passaggio dei dati (nel tuo caso un POST di upload).
    Non penso di aver capito bene,
    c'è un modo per risolvere questo problema?

    Volevo comunque evitare un download diretto dell'immagine
    con l'header "Content-Disposition: attachment"

    grazie mille!

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.