Problème d'insert d'une image dans une base Mysql

Problème d'insert d'une image dans une base Mysql - PHP - Programmation

Marsh Posté le 09-12-2004 à 19:00:14    

Oui je sais que c'est pas recommandé, mais comme free empeche l'upload je suis obligé de faire comme ça :/
 
Donc j'ai trouvé un script sur le web qui m'a l'air pas mal buggé... et qui marche pas :/  
 
 
 
Voici le code du form :

Code :
  1. <form method="post" action="inserer_image.php" enctype="multipart/form-data">
  2. Nom du fichier:&nbsp;<input type="file" name="image" size="40">
  3. <br>
  4. <input type="submit">
  5. </form>


 
le script d'ajout :  

Code :
  1. require 'config.inc.php';
  2. mysql_connect($config['serveur'], $config['login'], $config['password']);
  3. mysql_select_db($config['nom_bdd']);
  4.    
  5. print_r($_POST);
  6. $image = $_POST['image'];
  7. $donnees = addslashes(fread(fopen($image, "rb" ), filesize($image)));
  8. list($width, $height, $type, $attr) = getimagesize($image);
  9.     $result=mysql_query("INSERT INTO images (data,nom_fichier,taille_fichier,type)
  10. VALUES ('$donnees','$image_name','$image_size','$type')" );
  11.     $id= mysql_insert_id();
  12.     print "<br>Indentifiant du fichier dans la base: $id<br>";


 
le script d'affichage que l'on doit appeler depuis img src=

Code :
  1. $nostart = '1';
  2. $noconnect = '1';
  3. require 'config.inc.php';
  4. mysql_connect($config['serveur'], $config['login'], $config['password']);
  5. mysql_select_db($config['nom_bdd']);
  6. $id = $_GET['id'];
  7. if(!$id) { $id = '1'; }
  8. $requete = "SELECT data,type FROM images WHERE id=$id";
  9.     $resultat = mysql_query($requete);
  10.     $donnees = mysql_result($resultat,images.data);
  11.     $type = mysql_result($resultat,0,images.type);
  12.     header( "content-type: image/jpeg" );
  13.     echo $donnees;


 
Si quelqu'un pouvait au moins me dire d'où ça bug, ça serait cool.
 
En fait ça m'affcihe une erreur dans la ligne du fread
Warning: fread(): supplied argument is not a valid stream resource in c:\blog\inserer_image.php on line  
 
Parce que il y a pas de variable $img qaund je l'envoie avec enctype dans le formulaire mais si je met pas d'enctype ça foire à l'affichage...
 
PS : je sais que cette méthode d'upload est naze, mais j'ai trouvé que ça :/
 
merci  :hello:


Message édité par lezebulon2000 le 09-12-2004 à 19:11:11
Reply

Marsh Posté le 09-12-2004 à 19:00:14   

Reply

Marsh Posté le 09-12-2004 à 21:39:10    

Bon en fait j'ai réussi mon script en local en virant le  
enctype="multipart/form-data" dans le 1er formulaire... le problème c'est que maintenant mon deuxième script n'arrive aps à ouvir le fichier image...

Code :
  1. C:\Documents and Settings\vince\Mes documents\Mes images\vieux\bojano.jpg
  2. Warning: fopen(): Unable to access C:\Documents and Settings\vince\Mes documents\Mes images\vieux\bojano.jpg in /var/www/free.fr/d/e/zephyrox/edit2.php on line 54


 
Si vous pouviez m'aider ://

Reply

Marsh Posté le 10-12-2004 à 09:12:09    

c'est normal que t'aies un chemin en C:\ pour ton image alors que ton script tourne dans /var/www??? Y'a un chemin linux et l'autre Windows... :??: et puis si tu vire le enctype="multipart/form-data", ton ficheir ne sera pas transmis au serveur, donc après, ton script qui exploite le formulaire va merder en ce qui concerne l'image vu qu'elle n'aura pas été transmise. :/

Reply

Marsh Posté le 10-12-2004 à 09:26:56    

oué la tu essaies de lui faire acceder une image sur ton hdd alors que c'est sur le servur!!!

Reply

Marsh Posté le 10-12-2004 à 09:32:14    

Warning: fread(): supplied argument is not a valid stream resource in c:\blog\inserer_image.php on line  
 
pareil : que fait un fichier php dans un répertoire autre qu'un répertoire de publication du serveur web (style "/www/" )???

Reply

Marsh Posté le 10-12-2004 à 11:02:00    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed