Je ne sais vraiment pas de PHP mais j'aimerais faire une chose simple: Je suis venu Avec: p> et ça marche:
J'accède à une page PHP à partir d'un code> et j'aimerais avoir une image renvoyée d'une autre URL.
Sélection d'avatar http://vercas.webuda.com/img.php?.png
(Rechargez la page quelques fois!) P> P>
4 Réponses :
Consultez Readfile () .
L'idée de base est que vous envoyez le type MIME approprié En-têtes (à l'aide d'en-tête ()) Livrer le contenu du fichier à l'aide de Par exemple P> ReadFile () CODE>. P> <?php
// myhumbleimage.php
// Do whatever myhumbleimage.php does before the image is delivered
header('Content-Type: image/jpeg');
readfile('path/or/url/of/image/file.jpg');
exit;
"Je ne connais vraiment aucun PHP". Pouvez-vous me montrer un exemple de travail, comme si j'étais totalement stupide?
Pourquoi ne pas simplement référence à l'image directement alors? Si vous essayez de cacher le fait que vous tirez une image d'une source externe, cette source externe pourra toujours vous dire que vous tirez leurs images. P>
Sinon, passez une en-tête de type de contenu avec le type MIME approprié et echo les résultats de file_get_contents ($ imageURL) code>. p>
Parce que je voudrais retourner une image aléatoire à chaque fois.
D'accord. :) Je pensais juste que je sortirais l'avertissement au cas où. Certaines personnes sont ombragées de cette façon.
@simshaun: Je sais que c'est une vieille histoire, mais dis-tu que Google fait toutes sortes de choses ombragées? Vous vous demandez où vous dessinez la ligne?
@SSH: essayer de cacher le fait que vous utilisez la photo de quelqu'un d'autre et le catalogage des images sur le Web (tout en référençant la source) sont deux choses différentes.
Il suffit de générer ou de lire, puis de produire l'image à l'aide de PHP. ou vérifier ceci: http: // php .NET / manuel / fr / fonction.Imagepng.php p> p>
J'ai découvert des problèmes si je n'étais pas également incluant une "longueur de contenu": 'Header. Les problèmes sont liés à Crawler, à proxy et à la mise en cache de navigateur. Dans les pires cas, le navigateur attend jusqu'au délai d'attente pour plus de données.
C'est dans la spécification et a résolu toutes les problèmes, donc je l'ai toujours inclus, même si les navigateurs modernes peuvent travailler sans elle. Qui sait, il peut y avoir un léger retard, car le navigateur ne sait pas quand il a reçu le dernier segment. P>
Un autre problème que je vois ici est que vous supposez un format d'image .png.
Mieux vaut créer une fonction spécifique à cet effet afin que vous puissiez la réutiliser. P> J'ai fait beaucoup d'hypothèses ici (comme le fichier existe et son extension est 3 caractères) mais cette séquence semble être la balle d'argent de mon expérience. P> p>
Dupliqué possible de imagick (ImageMagick sur php ): Servez un fichier sans enregistrer au disque d'abord?
@Mark Cette question concerne la fourniture d'images générée par Imagick. Bien que certains éléments soient similaires (livraison d'en-têtes de type de contenu), il est à peine un duplicata