Une image ancrée dans un fichier PHP

Mammouth du PHP | 959 Messages

19 déc. 2008, 00:50

Bonsoir,

J'ai découvert quelque chose qui me questionne, j'ai vu qu'il est possible de prendre le "code" d'un fichier image (clique droit, ouvrir avec bloc note), de le mettre dans un fichier PHP, puis via ce même fichier PHP, l'appeler lui même via une balise <img> pour afficher cette image, je sais pas si vous avez bien compris, mais croyez moi, c'est possible ;)

Voilà à quoi ressemble le code que je veux mais il ne fonctionne pas (pour des raisons d'encodages je pense).
<?php
if( isset($_GET['showimg']) ){
	header('Content-type: image/png');
	switch($_GET['showimg']){
		case 'image1':
			// Code de l'image simplifié pour pas prendre trop de places dans le forum :P
			$imgcode = '‰PNG

IHDR   2   2   ‘]æ   tEXtÉe<  RIDATé*‹ÀO:†œg›†bb¶<~xÚì˜{lS×Ç¿÷^Û‰·
y€Á4´ZU¦Hl"-ƒ²-Œ4jT$ÚR”?`Ù¨ªU+Ú†„4©j%¤JU711EPU[×ÑnŒ•PŠ)˜<qœGcìØ±ãwìkßÇ9û
Ý›´¥¼ó Þ¤YÑÍIü¹ßß÷ü~¿sŽÿÅ!|‹õÿ

Mammouth du PHP | 1339 Messages

19 déc. 2008, 01:34

Euh bah tu peux facilement stocker une image dans une base de données :)

http://forum.rue-montgallet.com/ruemont ... 1610_1.htm
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Mammouth du PHP | 959 Messages

19 déc. 2008, 01:43

Ouais ça je sais faire ^^
Bah si tu veux c'est la même chose mais stocké dans le même fichier ^^

ViPHP
ViPHP | 2287 Messages

19 déc. 2008, 11:26

Mauvaise idée ça. Une image contient des données binaires. Ton éditeur de texte peut (va) massacrer ces données.

Il vaut mieux faire appel à un fichier tiers via readfile() par exemple, pour que les données de l'image ne transitent jamais par des outils inadaptés ;-)
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Mammouth du PHP | 959 Messages

19 déc. 2008, 12:12

C'est bien se que je pensé, c'est donc au niveau de mon IDE que ça bloque.

Je sais qu'à titre usuel, c'est une mauvaise idée. Mais quelqu'un m'avait passé un gros fichier PHP de plus de 3000 lignes et en plus, compressé, et je sais que dans ce gros fichier, quand je faisais afficher l'image et ben il s'appelait lui-même pour afficher une image...
Ne vous inquiétez pas, c'est pas pour utiliser pour un site, c'est juste question de le savoir parce-que je me demande comme le programmeur a fait ça... :)

Merci !