begin process at 2012 05 31 02:09:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Probleme lors d'un upload


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme lors d'un upload

dimanche 26 décembre 2010 à 23:37:50 | Probleme lors d'un upload

voyager



Bonjour

Ci-dessous ma démarche bon je suis débutant mais je me soigne, mais dans le cas présent après de nombreux essais je reste bloque

1) Upload
2) Redimensionner l'image uploader
3) Charger l'image dans un db

Tout semble se passer correctement mais malheureusement les photos n apparaissent pas dans ma galerie.

Le code que j'utilise
<?php
session_start();
$dj = "";
$dj = date ("d/m/Y");
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="navcontainer.css" type="text/css" media="screen" title="Normal" />
<style type="text/css">
<!--
.img { width: 215px;
heigh: 215px;
}
-->
</style>
</head>
<body>
<div id="navcontainer">
<div align="center">
<ul id="navlist">
<li id="active"><a href="Commercant.php" id="current">Photo et renseignements personnel</a></li>
<li><a href="Etaleview.php" >Visionner son Etale</a></li>
</ul>
</div>
</div>
<div align="center"><font size="5"><em>Construire son etale virtuelle</em></font></div><br><br><br>
<center><form enctype="multipart/form-data" action="" method="post">
Numero&nbsp;<input type="text" name="numerocommercant" id="numerocommercnat" style="width:100px" value="<?php echo $_SESSION['numerocommercant'];?>" />&nbsp;&nbsp;
Nom du produit&nbsp;<input type="text" name="nomproduit" id="nomproduit" style="width:100px" />&nbsp;&nbsp;
Prix&nbsp;<input type="text" name="prixproduit" id="prixproduit" style="width:50px" />&nbsp;&nbsp;
Quantite&nbsp;<input type="text" name="quantiteproduit" id="quantiteproduit" style="width:50px" />&nbsp;&nbsp;
date&nbsp;<input type="text" name="date" id="date" value="<?php echo $dj; ?>" style="width:80px" />&nbsp;&nbsp;
<input type="hidden" name="MAX_FILE_SIZE" value="100000000" />
Lien&nbsp;<input type="file" name="monfichier" id="monfichier" />&nbsp;&nbsp;
<input type="submit" name="validation" />
</form></center>
</body>
</html>
<?php
$dj = date ("d/m/Y");
$target = 'monsite/';
if(isset($_POST['validation'])) {

//Indique si le fichier a &#65533;t&#65533; t&#65533;l&#65533;charg&#65533;
if(!is_uploaded_file($_FILES['monfichier']['tmp_name']))
echo 'Un probl&#65533;me est survenu durant l op&#65533;ration. Veuillez r&#65533;essayer !';
else {
//liste des extensions possibles
$extensions = array('/png', '/gif', '/jpg', '/jpeg');

//r&#65533;cup&#65533;re la cha&#65533;ne &#65533; partir du dernier / pour conna&#65533;tre l'extension
$extension = strrchr($_FILES['monfichier']['type'], '/');

//v&#65533;rifie si l'extension est dans notre tableau
if(!in_array($extension, $extensions))
echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg.';
else {
//on d&#65533;finit la taille maximale
define('MAXSIZE', 300000);
if($_FILES['monfichier']['size'] > MAXSIZE)
echo 'Votre image est sup&#65533;rieure &#65533; la taille maximale de '.MAXSIZE.' octets';
else {

//on se connecte (remplacer les param&#65533;tres de connexion)
$connexion = mysql_connect("localhost", "", "") or exit (mysql_error());
$database = mysql_select_db("commande") or exit (mysql_error());

//r&#65533;cup&#65533;ration des infos saisies
$numerocommercant = mysql_real_escape_string($_POST['numerocommercant']);
$nomproduit = mysql_escape_string($_POST['nomproduit']);
$prixproduit = mysql_escape_string($_POST['prixproduit']);
$quantiteproduit = mysql_escape_string($_POST['quantiteproduit']);
$date = mysql_escape_string($_POST['date']);

//Lecture du fichier. On doit utiliser la fonction mysql_escape_string car les donn&#65533;es binaires contiennent des caract&#65533;res sp&#65533;ciaux.

$filename = $_FILES['monfichier']['tmp_name'];
$ImageChoisie = imagecreatefromjpeg($_FILES['monfichier']['tmp_name']);
$TailleImageChoisie = getimagesize($_FILES['monfichier']['tmp_name']);
$NouvelleLargeur = 850; //Largeur choisie à 350 px mais modifiable

$Reduction = ( ($NouvelleLargeur * 100)/$TailleImageChoisie[0] );
$NouvelleHauteur = ( ($TailleImageChoisie[1] * $Reduction)/100 );
$NouvelleImage = imagecreatetruecolor($NouvelleLargeur , $NouvelleHauteur) or die ("Erreur");
imagecopyresampled($NouvelleImage , $ImageChoisie, 0, 0, 0, 0, $NouvelleLargeur, $NouvelleHauteur,$TailleImageChoisi[0],$TailleImageChoisie[1]);
ob_start();
imagejpeg($NouvelleImage ,null, 100);
$image = ob_get_clean();
$image = strtr($image,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
//On remplace les lettres accentutées par les non accentuées dans $fichier.
//Et on récupère le résultat dans fichier
//En dessous, il y a l'expression régulière qui remplace tout ce qui n'est pas une lettre non accentuées ou un chiffre//dans $fichier par un tiret "-" et qui place le résultat dans $fichier.
$image = preg_replace('/([^.a-z0-9]+)/i', '-', $image);

//Il ne reste qu'&#65533; ins&#65533;rer tout &#65533;a dans notre table.
mysql_query("INSERT INTO etale(numero_commercant, nomproduit, prixproduit, date, quantite, photo, extension) VALUES('".$numerocommercant."', '".$nomproduit."','".$prixproduit."', '".$date."','".$quantiteproduit."', '".$image."', '".$_FILES['monfichier']['type']."')") or exit (mysql_error());
mysql_close();
echo 'L insertion s est bien deroulee !';

$connexion = mysql_connect("localhost", "", "") or exit (mysql_error());
$database = mysql_select_db("commande", $connexion) or exit (mysql_error());
$affichage = mysql_query("SELECT ID, nomproduit, prixproduit, quantite FROM etale ORDER BY ID DESC LIMIT 1") or exit (mysql_error());
$result = mysql_fetch_array($affichage);

echo '<div>';
echo '<p>Nom du produit : '.$result['nomproduit'].'</p>';
echo '<p>Prix : '.$result['prixproduit'].'Euros</p>';
echo '<p>Quantite : '.$result['quantite'].'Kilos</p>';
echo '<a href="apercu1.php?ID='.$result['ID'].'"><img src="apercu1.php?ID='.$result['ID'].'" class="img" /></a>';
echo '<p><a href="Etaleview.php" >Verifier la mise en page</a></p>';
echo '</div>';

mysql_close();
}
}
}
}
?>

Il doit surement manquer quelque chose. Mais Je ne vois pas.
Merci d'avance pour votre aide
voyager
lundi 27 décembre 2010 à 13:09:10 | Re : Probleme lors d'un upload

cod57

bonjour

si tu as phpmyadmin verifier si le champs de l'image est remplit dans la ligne.

dans ton insertion je comprend pas
'".$image."', '".$_FILES['monfichier']['type']."')"

puisque ton image est resampled
elle est jpg

faire attention que tu es pas ???.jpg.jpg

a++

lundi 27 décembre 2010 à 19:38:01 | Re : Probleme lors d'un upload

voyager


Bonjour

Merci pour ta réponse

J ai supprimer la partie '".$_FILES['monfichier']['type']."' tu as raison probablement que j avais deux fois la même chose mais cela ne change rien j ai le même resulat.
L upload a l air de se faire, l insertion dans la base se fait correctement et les nouvelles dimensions sont bien attribuées je peu voir les détailles dans la base (j ai effectivement phpmyadmin).
Le seul hic les images n apparaissent pas lorsque je les récupères.
Les questions que je me pose sont:
-Sous quel format est ma variable $image car si la variable n a pas le bon format je peux toujours insister.
-J ai aussi un doute sur l upload car je n upload pas vraiment l image dans un fichier en effet j ai lu quelque part qu il faut d'abord l uploader sur le serveur avant de la redimensionner

Enfin je poursuit mes investigations.

Merci d avance pour vos futur réponses

voyager


Cette discussion est classée dans : mysql, image, error, echo, exit


Répondre à ce message

Sujets en rapport avec ce message

passement de données [ par JohnInsane ] Bonjour, voila j'ai une liste déroulante avec laquelle je peux choisir des catégories et afficher les photos et les descriptions de ces même catégori IMAGE [ par aurelbzh ] Voici mon code pour afficher dans un tableau des image 3 par 3 sur mon site le probleme c ke si je ne rentre qu'une  image dans la base les deux otre afficher une image selectionnee dans une base de donnees [ par fadoua123 ] salut voici mon probleme j ai une base ou il y a des images et son id et d autres champs et je dois selectioner des images d apres une condition je ve Optimisation du code [ par azqsazqs ] bonjour,j'ai un code que je trouve lent, j'aimerais l'accélérer un peu. je l'ai rétréci autant que le pouvais, mais je suis sur qu'il reste des abérat Affichage image de la BDD dans un popup [ par DjChat ] Bonjour a tous, je voudrais crée un lien hypertext qui m'ouvre un popup d'une image qui est stoqué dans une base de donnée.Mon lien popup fonctionne q Probleme de caractere dans BDD [ par DjChat ] Bonjour a tous j'ai crée un formulaire qui a des champ texte et qui une fois validée sont stocker dans une base de donnée MySQL, mais dès qu'il y a de Longueur de caractere dans un textarea [ par DjChat ] Bonjour a tous, j'ai un formulaire avec deux textarea et j'aimerai limiter le nombre de caractere a taper dans ces champ, j'me suis renseigner et c'es aide sur fonction [ par titi2b ] bonhour je ne comprend pas pourquoi la fonction ne fonctionne pas Parse error: syntax error, unexpected T_IF, expecting '{' ligne 3function pseudo()i comment forcer l'affichage d'un count = 0 dans un tableau [ par atolldecolombo ] bonjour je souhaite créé un comparatif sur des membres d'une assos sur 2 annéesmon problème est que certaines années des champs ne sont pas remplisex insertion dans la base mysql [ par ikramta ] salut tout le mande.je veut inserer ces informations dans la base mais l'orsque je clique le bouton rien ne m'affiche.qui peut me dire ou est le defau


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,852 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales