Problème affichage fichier type BLOB

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème affichage fichier type BLOB

par Vurtu » 12 juin 2008, 10:54

bonjour :)

Le message : "Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\Proto1\Admin\Documents\apercu.php:10) in C:\wamp\www\Proto1\Admin\Documents\apercu.php on line 31"
indique généralement que tu affiches quelque chose avant la commande header ...
car typique, un espace juste avant <?php, ou alors un echo, une erreur php ...

ca devrait logiquement résoudre le reste des problèmes

Problème affichage fichier type BLOB

par Benorito » 12 juin 2008, 10:44

Bonjour,

Depuis quelque semaines je réalise un intranet pour une petite entreprise. J'ai décidé après mur réflexion de stocker mais fichiers dans une base de donnée, facilitant l'accès à ceux ci et évitant les problèmes de transfert pour le déplacement. Bref ayant les 2 solution l'une fonctionne parfaitement avec les chemins stocké l'affichage l'insertion tout marche parfaitement. Mais concernant l'autre méthode j'arrive a stocker mais fichier dans la base de donnée a les transférer en type blob etc mais je n'arrive pas à les afficher malgré de nombreuses tentatives et tutos tenté rien n'y fait je n'arrive pas à m'en sortir. C'est donc pour cela que je viens vous voir et vous demandé un petit coup de main afin d'éclairer ma lanterne égaré :). "j'utilise
PHPmyadmin 2.9.2"

Voici mais code :
...
$req = "SELECT id, type, fichier ".
"FROM documents WHERE id = ".$id;
$ret = mysql_query ($req) or die (mysql_error ());

$col = mysql_fetch_array ($ret);
if ( !$col['id'] )
{
echo "Id d'image inconnu";
}
else
{
header ("Content-type: ".$col['type']);
print $col['fichier'];
exit(); 
}
}
else
{
echo "Mauvais id d'image";
}
Extrait de ma BDD concerné:

Code : Tout sélectionner

CREATE TABLE `documents` ( `id` int(11) NOT NULL auto_increment, `nom` varchar(50) NOT NULL default '', `description` varchar(100) NOT NULL default '', `taille` varchar(10000) NOT NULL, `type` varchar(30) NOT NULL default '', `fichier` longblob NOT NULL, `date` varchar(20) NOT NULL, `chemin` varchar(200) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=61 ;
Voila, donc la variable en GET passe très bien entre les deux pages, l'erreur survient aux moment du :
"header ("Content-type: ".$col['type']);" 
et s'affiche ainsi :

Code : Tout sélectionner

"Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\Proto1\Admin\Documents\apercu.php:10) in C:\wamp\www\Proto1\Admin\Documents\apercu.php on line 31"
Après cette erreur s'affiche tout le code blob du fichier (exemple :

Code : Tout sélectionner

ÿØÿà�JFIF���d�d��ÿþ�Adobe ImageReadyÿì�Ducky�����.��ÿî�Adobe�dÀ���ÿÛ�„� [b])
Voila merci de vos idées j'attends vraiment un peut d'aide car ce problème me bloque réellement dans mon avancement et je commence a prendre beaucoup de retard, merci d'avance.