2012-05-13 2 views
5

Sto cercando di determinare se dovrei direttamentePHP intestazione immagine-tipo di uscita vs Località redirect al binario in fs

1) ho PHP recuperare un'immagine immagine binaria e di uscita (con intestazione come immagine-tipo) , ad esempio:

/* $image = ... insert curl function to fetch image */ 

header('Content-Type: image/png'); 

echo $image; 

o se dovrebbe avere

2) un'intestazione reindirizzamento al percorso URL dell'immagine

header('Location: http://domain.com/pathtoimage/image.png'); 

Alcune domande iniziali:

Nella prima, sarebbe tale importo per ogni testa con PHP dover avere l'immagine nella memoria per output?

Nel secondo, ciò porterebbe a eventuali errori sui client che in qualche modo non possono seguire il reindirizzamento dell'intestazione PHP?

+0

Ho appena fatto qualcosa di simile e sarei interessato se qualcuno avesse eseguito dei test (potrei fare qualcosa di mio alla fine). Per ora sono andato con il reindirizzamento, in questo modo c'è meno possibilità che io rompa qualcosa. –

+0

Nessun php-genio ha effettivamente capito questo? @Pietrosanti hai fatto qualche test? – garlix

risposta

0

Sono contrario all'intestazione -> soluzione di localizzazione poiché si aggiungerà una richiesta aggiuntiva al server. Prova questa soluzione invece:

if (file_exists($file)) { 
     header('Content-Type: image/png'); 
     readfile($file); 
     exit; 
    } 

Questa soluzione dovrebbe avere un overhead minimo e occupazione di memoria.