Je veux un PHP pour pouvoir envoyer 1 des 3 images, en fonction d'un paramètre $_GET[]
. J'ai les images en tant que trois PNG séparés en ce moment, et voudrait que le manuscrit de PHP ait ceux incorporés dedans, alors renvoient l'image indiquée. Donc, je veux un script PHP au lieu de 3 images. Est-ce possible? Je n'ai pas besoin de créer des images spéciales à la volée, il suffit d'en imprimer une. Merci!Avoir une page PHP en sortie une image statique
Répondre
Si vos images sont dans des fichiers, utilisez la fonction de PHP readfile(), et envoyer un en-tête de type de contenu avant la sortie du résultat:
<?php
$imagePaths = array(
'1' => 'file1.png',
'2' => 'file2.png',
'3' => 'file3.png',
);
$type = $_GET['img'];
if (isset($imagePaths[$type])) {
$imagePath = $imagePaths[$type];
header('Content-Type: image/png');
readfile($imagePath);
} else {
header('HTTP/1.1 404 File Not Found');
echo 'File not found.';
}
?>
EDIT:
Vous pouvez également intégrer vos images dans le script en les encodant par exemple comme Base64, puis les intégrer sous forme de chaînes en PHP, puis décodent là avec base64_decode pour les livrer:
<?php
$imageData = array(
'1' => '...', // Base64-encoded data as string
...
);
$type = $_GET['img'];
if (isset($imageData[$type])) {
header('Content-Type: image/png');
echo base64_decode($imageData[$type]);
} else {
header('HTTP/1.1 404 File Not Found');
echo 'File not found.';
}
?>
Vous pouvez également utiliser PHP pour coder l'image sur la ligne de commande. Il suffit d'exécuter ce script PHP dans la ligne de commande (php script.php image1.png image2.png image3.png > output.php
) et enregistrer sa sortie, et l'intégrer dans votre script:
<?php
$imageData = array();
foreach ($argv as $index => $imagePath)
$imageData[(string)($index + 1)] = base64_encode(file_get_contents($imagePath));
echo '$imageData = '.var_export($imageData, true).';';
?>
Oui, c'est possible.
Faites ceci:
- écrire un script php décider quelle image à la sortie.
- Définissez les en-têtes appropriés avec la fonction header() (par exemple, Content-type)
- Ouvrez le fichier, lisez-le et envoyez-le au flux de sortie.
Rappelez-vous que vous perdrez probablement tous les avantages de la mémoire cache du navigateur avec cette approche ...
Cela ne nécessiterait-il pas toujours que les images soient des fichiers séparés?Est-il possible de les intégrer dans le script? –
pourquoi va-t-il perdre le cache du navigateur? Les images sont toujours localisées par URL unique avec des paramètres GET. – doc
Pourquoi voudriez-vous intégrer une image dans un script? –
Une façon rapide mais pas vraiment sûre, ni élégante de le faire ...
<?php
switch($_GET['type']){
case "1":
$image = "image1.png";
break;
case "2":
$image = "image2.png";
break;
case "3":
$image = "image3.png";
break;
}
header('Content-Type: image/png');
readfile($image);
?>
la morale de l'histoire: tête d'utilisation() et readfile() = D
Je ne l'ai pas testé les éléments suivants, mais il devrait fonctionner. Utilisez ce script pour obtenir du code PHP qui contiendra les données d'image.
Pour obtenir l'image:
$image = base64_encode(file_get_contents("image.png"));
// The string $image now contains your image data.
Obtenir cette chaîne (potentiellement grande) dans votre code où vous voulez que l'image, pour chaque image. Imprimez-le et copiez-le puis collez-le. Importez-le en tant que fichier texte sur le Web. C'est à toi de voir.
Ensuite, pour imprimer l'image (seule l'image comme si le script PHP était l'image), faites:
header("content-type: image/png");
print base64_decode($image);
Bien sûr, vous mettriez chaque donnée d'image dans un tableau ou quelque chose comme ça.
Faites-moi savoir si cela fonctionne.
- 1. sortie une image en PHP
- 2. Retour une page PHP comme une image
- 3. Convertir une page HTML en une image
- 4. Une sorte de variable statique en PHP
- 5. UINavigationBar avec une image statique
- 6. Comment inclure une image dans une autre image en PHP?
- 7. PHP: tirer une image et modifier sa sortie
- 8. Comment créer une visionneuse d'images Web avec une image statique?
- 9. Comment superposer JavaScript sur une image statique?
- 10. Comment transformer une pièce jointe d'un fichier PDF en une image (jpg) dans une page PHP?
- 11. Comment convertir une page Web en image?
- 12. sauver page ASPX en une image
- 13. Comment faire pivoter une image statique en HTML
- 14. PHP Méthode statique en utilisant une classe privée Fonctions/Variables
- 15. Comment dessiner une image interactive en PHP?
- 16. Comment charger une image en PHP
- 17. Formules mathématiques sur une page HTML statique
- 18. Traduire une page web en PHP
- 19. obtenir une sortie php de asp.net mvc
- 20. Comment rediriger une page en php
- 21. Comment puis-je avoir une propriété dans une classe pour stocker une image/image?
- 22. IE7 GIF animé apparaît comme une image statique?
- 23. configurer linux box pour avoir une adresse IP statique
- 24. Récupérer une image et la charger dans une page html
- 25. Comment convertir une page web en image en utilisant MATLAB?
- 26. Comment référencer une méthode statique d'une classe variable en PHP?
- 27. Pouvons-nous avoir un constructeur privé dans une classe statique?
- 28. Comment enregistrer une page Web en tant que fichier image en utilisant PHP?
- 29. avoir une idée de comment définir la mise en page?
- 30. Comment convertir une image en une image transparente en Java
Merci beaucoup Archimedix !! Je vais jeter un coup d'œil à ça, c'est juste ce dont j'ai besoin! –
Cela a fonctionné! Merci! –
Avec une approche comme celle-ci ('header()' sort l'attente de type Content et l'utilisation de 'readfile'), IE9 par défaut à Quirks comme mode Document. Peut-on faire quelque chose pour dire à IE de ne pas paniquer, c'est juste une image? [Exemple] (http://www.homeeducatormom.com/wp-content/uploads/2012/11/orange-scarf1.jpg) (Ce n'est pas mon site) – veeTrain