OVH Cloud OVH Cloud

Images sur free.fr

8 réponses
Avatar
Alistaire
Bonjour Tout le monde.

mes images que j'ai stockees sou forme de blob dans ma base s'affchent
en local avec easyphp, mais pas qd mes pages sont sur le site de
free.fr
Une aide , SVP ?
Merci

8 réponses

Avatar
Olivier Miakinen

mes images que j'ai stockees sou forme de blob dans ma base s'affchent
en local avec easyphp, mais pas qd mes pages sont sur le site de
free.fr


Ça n'a pas vraiment de rapport avec PHP, mais bon...

1) As-tu transféré les images sur le site ?

2) le chemin d'accès est-il le bon ?

3) As-tu bien mis des « / » et pas des « » ?

4) As-tu pris garde de n'utiliser que des caractères « simples »,
par exemple lettres minuscules (sans accents) et chiffres, avec
éventuellement des traits d'union (pas d'espaces) ?

Si rien de tout cela ne t'aide, donne-nous l'adresse du site pour qu'on
puisse voir ce qui cloche.

*Attention* : copie et suivi vers fr.comp.infosystemes.www.auteurs

Avatar
Olivier Miakinen

il te dis que les images sont dans des "blob", c'est a dire
en base de données.


Merci pour l'explication. En effet j'ai trouvé ceci :
http://www.linux-france.org/prj/jargonf/B/blob.html
Je ne connaissais pas ce sens.

Quelqu'un aurait un exemple de code PHP permettant d'afficher une image
contenue dans un blob ? Parce que je ne vois pas bien comment on peut faire.

(pour le coup, je ramène la discussion sur fr.comp.lang.php)

Avatar
Laurent vilday
il te dis que les images sont dans des "blob", c'est a dire
en base de données.
Quelqu'un aurait un exemple de code PHP permettant d'afficher une image

contenue dans un blob ? Parce que je ne vois pas bien comment on peut faire.


Il faut un fichier dédié à la lecture qui fait tout simplement :
1) Lecture dans la base
2) header qui va bien selon le type d'image
3) echo du contenu lu en bdd

Mais c'est mal, TRES mal. On met pas du binaire en bdd, on y met l'url
du fichier tout simplement !

(pour le coup, je ramène la discussion sur fr.comp.lang.php)


Grrrr, m'exaspère ça !! C'est pas bientôt fini de trimballer les
discussions dans tous les sens ?

--
laurent


Avatar
dwojylac.nospam
Olivier Miakinen <om+ wrote:

Quelqu'un aurait un exemple de code PHP permettant d'afficher une image
contenue dans un blob ? Parce que je ne vois pas bien comment on peut faire.


Une recherche google
http://www.google.fr/search?q=php+image+enregistr%C3%A9e+champ+blob
une solution
http://www.phpcs.com/code.aspx?ID0945

Mais quel intéret d'alourdir les tables et les requètes avec des images
enregistrées dans un champ de type blob ?
Un script d'upload ne convient pas ?

--
http://wojylac.free.fr
Un proverbe chinois dit que lorsqu'on a rien à dire
on cite généralement un proverbe chinois.

Avatar
Steph. K
il te dis que les images sont dans des "blob", c'est a dire
en base de données.


Merci pour l'explication. En effet j'ai trouvé ceci :
http://www.linux-france.org/prj/jargonf/B/blob.html
Je ne connaissais pas ce sens.

Quelqu'un aurait un exemple de code PHP permettant d'afficher une image
contenue dans un blob ? Parce que je ne vois pas bien comment on peut faire.

(pour le coup, je ramène la discussion sur fr.comp.lang.php)


Demande à John, il se fera un réel plaisir à t'expliquer tout le bien,
qu'il pense de cette technique :-)

--
Steph. K
http://stephkup.nexenservices.com/accueil/


Avatar
davel_x
il te dis que les images sont dans des "blob", c'est a dire
en base de données.


Quelqu'un aurait un exemple de code PHP permettant d'afficher une image
contenue dans un blob ? Parce que je ne vois pas bien comment on peut faire.


Je n'ai pas essayé mais un simple header("Content-type: image/jpeg");
avant de sortir tel quel le flux du blob ne fonctionnerait pas ?
après tout que ça sorte d'une base où d'un fichier...


--
**davel**
http://www.davel.fr/blog/


Avatar
Olivier Miakinen

Quelqu'un aurait un exemple de code PHP permettant d'afficher une image
contenue dans un blob ? Parce que je ne vois pas bien comment on peut faire.


Je n'ai pas essayé mais un simple header("Content-type: image/jpeg");
avant de sortir tel quel le flux du blob ne fonctionnerait pas ?
après tout que ça sorte d'une base où d'un fichier...


Merci à toi (et aux autres). Maintenant que j'en sais un peu plus :
1) Je ne vois pas pourquoi ça marcherait en local et pas en distant,
à moins qu'Alistaire ait oublié de transférer son blob.
2) Et de toute manière, comme le disent ou le laissent entendre
Laurent, Dominique et Stéphane, ce n'est pas une bonne idée.


Avatar
Calimero
Olivier Miakinen wrote:

il te dis que les images sont dans des "blob", c'est a dire
en base de données.



Merci pour l'explication. En effet j'ai trouvé ceci :
http://www.linux-france.org/prj/jargonf/B/blob.html
Je ne connaissais pas ce sens.

Quelqu'un aurait un exemple de code PHP permettant d'afficher une image
contenue dans un blob ? Parce que je ne vois pas bien comment on peut faire.

(pour le coup, je ramène la discussion sur fr.comp.lang.php)



Petit exemple MySQLesque, méthode la-rache.com

La table:

CREATE TABLE `Images` (
`IdImage` int(10) unsigned NOT NULL auto_increment,
`ImageBinData` blob NOT NULL,
PRIMARY KEY (`IdImage`)
)

<?php
header("Content-type: image/png");

// Code pour charger une image en base
//$img = file_get_contents("test2.png");
//$db = mysql_connect('127.0.0.1', '', '');
//mysql_select_db('dbtest', $db);
//$sql = "INSERT INTO Images(ImageBinData) VALUES('";
//$sql .= mysql_real_escape_string($img, $db);
//$sql .= "')";
//mysql_query($sql);
//mysql_close($db);

$db = mysql_connect('127.0.0.1', 'dbtest', 'dbtest');
mysql_select_db('dbtest', $db);
$sql = "SELECT ImageBinData FROM Images WHERE IdImage = " .
$_REQUEST['id'];
$res = mysql_query($sql, $db);
$row = mysql_fetch_assoc($res);
mysql_close($db);
echo $row['ImageBinData'];
exit();
?>

Bon, l'API mysql est tolérante sur le sujet. Ce n'est pas le cas de
toutes les API dans tous les langages. Dans certains cas il faut
passer par des méthodes spécifiques (genre du "getchunk" sur ADO chez MS).
Cette simplicité est sans doute aussi à l'origine de certaines
restrictions: le paramétrage du serveur et du client
(max_allowed_packet) définissent la taille max d'un champ blob
effectivement utilisable.

Enfin bon, comme dit, c'est une solution qui est globalement mauvaise.

--
@+
Calimero