Uploader une image sur mon site (parcourir)
r2-d4
Messages postés
385
Date d'inscription
Statut
Membre
Dernière intervention
-
r2-d4 Messages postés 385 Date d'inscription Statut Membre Dernière intervention -
r2-d4 Messages postés 385 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voilà, je voudrais que depuis un forumlaire, les visiteurs de mon site puisse envoyer des photos grâce à ces fameux boutons que l'on trouve souvent "parcourir".
permettre d'uploader l'image sur le chemin indiqué sur mon serveur FTP
dans un endroit précis pour que je puisse facilement retrouver le fichier.
Quelqu'un aurait-il un code PHP ou HTML je ne sais pas, que je puisse glisser.
Merci d'avance !
voilà, je voudrais que depuis un forumlaire, les visiteurs de mon site puisse envoyer des photos grâce à ces fameux boutons que l'on trouve souvent "parcourir".
permettre d'uploader l'image sur le chemin indiqué sur mon serveur FTP
dans un endroit précis pour que je puisse facilement retrouver le fichier.
Quelqu'un aurait-il un code PHP ou HTML je ne sais pas, que je puisse glisser.
Merci d'avance !
A voir également:
- Comment uploader une photo
- Image iso - Guide
- Légender une image - Guide
- Reduire taille image - Guide
- Acronis true image - Télécharger - Sauvegarde
- Rechercher une image - Guide
25 réponses
salut sa c bien simple et sympa
http://www.commentcamarche.net/faq/sujet 4308 webmaster faire facilement un espace d upload
http://www.commentcamarche.net/faq/sujet 4308 webmaster faire facilement un espace d upload
excuse, je n'ai pas touché à mon ordinateur depuis un moment !
Mais le problème c'est que je voudrais que ce soit mes visiteurs qui puissent expédier leurs fichiers or avec ce système il n'y à que moi
Mais le problème c'est que je voudrais que ce soit mes visiteurs qui puissent expédier leurs fichiers or avec ce système il n'y à que moi
bonsoir l'upload est simple et complexe en meme temps, tu a la solution de faire une recherche sur ton ami google , sinon je te file un code qui fonctionne tu n'a qu'a adapter a ton cas
il ne te reste plus qu'a adapter, un petit conseil , ne fait pas un copier/coller , retape le et cherche a savoir comment ça fonctionne
<?php header('Content-type: text/html; charset=UTF-8'); $id = (isset($_GET['id'])) ? $_GET['id'] : 0; //print_r($_REQUEST); //echo'ici id '.$id; if (!isset($_REQUEST['save'])) { echo "<link href='css/style.css' rel='stylesheet' type='text/css' />"; echo "<div id='bloc_formulaire' style='margin-left: 35px; margin-right: 35px'>"; echo "<h1>Ajout d'une image</h1>"; echo "<form method='POST' name='upForm' enctype='multipart/form-data' action='uploadImage.php' >"; //echo"<p><br/>Taille maxi de l'image 2Mo<br/>"; echo "<input type='file' name='imgfile'>"; //echo "<input type='hidden' name='max_file_size' value='2000000' />"; echo "</p>"; echo "<input type='hidden' name='id' value='".$id."' />"; echo "<input type='hidden' name='save' />"; echo "<input type='submit' value='Ajouter cette image' />"; echo "</form>"; echo"</div>"; } else { require_once('inc/BDDConnect.php'); // la tes info de connexions /**************************************/ // michel janvier 2009 /****************************************/ $rep = "ton repertoire ou stocker tes images"; $file_name = saveImage($rep); $f = $rep.$file_name; // ici je cree 3 types d'images pour des raisons pro,toi tu ne peut qu'en faire une $champs = array("src_g", "thumb_g", "big_g", "id_produit"); $valeurs = array("'".$f.".jpg'", "'".$f."_th.jpg'", "'".$f."_b.jpg'", $id); $BDD->insert("galeries", $champs, $valeurs); $url = ($id==0) ? "index.php?action=1" : "index.php?action=A_FINIR&id=".$id; //a finir echo '<meta http-equiv="refresh" content="0; url=index.php?action=1" />'; } function saveImage($rep) { $limitedext = array(".jpg", ".jpeg", ".png", ".bmp", ".gif"); $file_type = $_FILES['imgfile']['type']; $file_name = $_FILES['imgfile']['name']; $file_size = $_FILES['imgfile']['size']; $file_tmp = $_FILES['imgfile']['tmp_name']; //Verification des extensions $ext = strrchr($file_name,'.'); $ext = strtolower($ext); //Recuperation de l'extension et du nom de fichier $getExt = explode ('.', $file_name); $file_ext = $getExt[count($getExt)-1]; $file_name = str_replace(".".$file_ext,"",$file_name); $file_name = removeAccents($file_name); //echo 'filename lig 55 '.$file_name; //Récuperation de l'image uploaded if($file_size) { if($file_type == "image/pjpeg" || $file_type == "image/jpeg") { $uploaded = imagecreatefromjpeg($file_tmp); } elseif($file_type == "image/x-png" || $file_type == "image/png") { $uploaded = imagecreatefrompng($file_tmp); } elseif($file_type == "image/gif") { $uploaded = imagecreatefromgif($file_tmp); } list($width, $height) = getimagesize($file_tmp); } //echo'taille='.$file_size; //Création de l'image "normale" pour flash $flash = imagecreatetruecolor(600, 450); imagecopyresized($flash, $uploaded, 0, 0, 0, 0, 600, 450, $width, $height); //Création de la miniature $thumb = imagecreatetruecolor(81, 61); imagecopyresized($thumb, $uploaded, 0, 0, 0, 0, 81, 61, $width, $height); //enregistrement ds images imagejpeg($uploaded, $rep.$file_name."_b.jpg"); //originale imagejpeg($flash, $rep.$file_name.".jpg"); //image flash imagejpeg($thumb, $rep.$file_name."_th.jpg"); //miniature return $file_name; } ?>
il ne te reste plus qu'a adapter, un petit conseil , ne fait pas un copier/coller , retape le et cherche a savoir comment ça fonctionne
$rep = "ton repertoire ou stocker tes images";
quand tu dis ça, est-ce queje met www.monsite.fr/lerépertoire ou /lerépertoire/directement
merci de ton aide
quand tu dis ça, est-ce queje met www.monsite.fr/lerépertoire ou /lerépertoire/directement
merci de ton aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pourtant lorsque j'essaye d'uploader une image il cherche un uploadImage.php or je n'ai pas créé un tel fichier, le code que m'as donné lewis 34, je l'ai transformé en index.php
regarde, t'as une ligne où il y a marqué ça :
action='*.php' signifie que quand tu vas cliquer sur ton bouton valider le formulaire appelle la page '*.php'. Donc dans ton cas il faut que tu écrives ça :
echo "<form method='POST' name='upForm' enctype='multipart/form-data' action='uploadImage.php' >";
action='*.php' signifie que quand tu vas cliquer sur ton bouton valider le formulaire appelle la page '*.php'. Donc dans ton cas il faut que tu écrives ça :
echo "<form method='POST' name='upForm' enctype='multipart/form-data' action='index.php' >";
Le mieux serait que je te donne l'adresse et que tu essai aussi,
car il me met un code d'erreur PHP
www.meextee.fr/essai/
car il me met un code d'erreur PHP
www.meextee.fr/essai/
Sinon en gros il me donne l'erreur, ligne 25
Warning: main(inc/BDDConnect.php): failed to open stream: No such file or directory in d:\www\meextee.fr\htdocs\essai\index.php on line 25
Fatal error: main(): Failed opening required 'inc/BDDConnect.php' (include_path='.;c:\php\pear') in d:\www\meextee.fr\htdocs\essai\index.php on line 25
Warning: main(inc/BDDConnect.php): failed to open stream: No such file or directory in d:\www\meextee.fr\htdocs\essai\index.php on line 25
Fatal error: main(): Failed opening required 'inc/BDDConnect.php' (include_path='.;c:\php\pear') in d:\www\meextee.fr\htdocs\essai\index.php on line 25
bonsoir , je te l'ai dis il faudra adapter le script a ton cas..
ton erreur est due au fait , a mon avis que tu a laisser cette ligne
require_once('inc/BDDConnect.php')
la il te faut mettre tes parametres de connection, soit par un require_once(ou un include) ou tu appelle ton fichier qui contient tes param de connexion
soit en remplacant cette ligne par
ensuite pourquoi a tu renommer la page ?
si tu la renomme il te faut changer le nom dan action du form, comme le dis azraka
a cette ligne
echo "<form method='POST' name='upForm' enctype='multipart/form-data' action='le_nom_de_ta_page' >";
ton erreur est due au fait , a mon avis que tu a laisser cette ligne
require_once('inc/BDDConnect.php')
la il te faut mettre tes parametres de connection, soit par un require_once(ou un include) ou tu appelle ton fichier qui contient tes param de connexion
soit en remplacant cette ligne par
$user = ton_login; $bdd = Nom_de_la_base_de_donnees; $passwd = Mot_de_passe; // Connexion au serveur mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur"); mysql_select_db($bdd) or die("erreur de connexion a la base de donnees"); // la tu selectionne ta BDD
ensuite pourquoi a tu renommer la page ?
si tu la renomme il te faut changer le nom dan action du form, comme le dis azraka
a cette ligne
echo "<form method='POST' name='upForm' enctype='multipart/form-data' action='le_nom_de_ta_page' >";
OK pour le BDD ça fonctionne à présent mais maintenant il m'indique la ligne 69 où
$file_name = removeAccents($file_name);
ne lui plait pas !
$file_name = removeAccents($file_name);
ne lui plait pas !
soit ce message
Fatal error: Call to undefined function: removeaccents() in d:\www\meextee.fr\htdocs\essai\index.php on line 69
Fatal error: Call to undefined function: removeaccents() in d:\www\meextee.fr\htdocs\essai\index.php on line 69
parcequ'il fait appel a une fonction utilisé dans le script d'origine, tu peut commenter cette ligne, desolé je ne te l'ai pas enlevé
je l'ai enlevé,
Warning: imagejpeg(): Unable to access www.meextee.fr/essai/fichiers/73561_b.jpg in d:\www\meextee.fr\htdocs\essai\index.php on line 99
Warning: imagejpeg(): Invalid filename in d:\www\meextee.fr\htdocs\essai\index.php on line 99
Warning: imagejpeg(): Unable to access www.meextee.fr/essai/fichiers/73561.jpg in d:\www\meextee.fr\htdocs\essai\index.php on line 100
Warning: imagejpeg(): Invalid filename in d:\www\meextee.fr\htdocs\essai\index.php on line 100
Warning: imagejpeg(): Unable to access www.meextee.fr/essai/fichiers/73561_th.jpg in d:\www\meextee.fr\htdocs\essai\index.php on line 101
Warning: imagejpeg(): Invalid filename in d:\www\meextee.fr\htdocs\essai\index.php on line 101
Fatal error: Call to a member function on a non-object in d:\www\meextee.fr\htdocs\essai\index.php on line 46
Problème suivant, est-il dû a mon fichiers en vue de la phrase Invalid filename car celui-ci comme tu peut le voir se nomme 73561.JPG
Warning: imagejpeg(): Unable to access www.meextee.fr/essai/fichiers/73561_b.jpg in d:\www\meextee.fr\htdocs\essai\index.php on line 99
Warning: imagejpeg(): Invalid filename in d:\www\meextee.fr\htdocs\essai\index.php on line 99
Warning: imagejpeg(): Unable to access www.meextee.fr/essai/fichiers/73561.jpg in d:\www\meextee.fr\htdocs\essai\index.php on line 100
Warning: imagejpeg(): Invalid filename in d:\www\meextee.fr\htdocs\essai\index.php on line 100
Warning: imagejpeg(): Unable to access www.meextee.fr/essai/fichiers/73561_th.jpg in d:\www\meextee.fr\htdocs\essai\index.php on line 101
Warning: imagejpeg(): Invalid filename in d:\www\meextee.fr\htdocs\essai\index.php on line 101
Fatal error: Call to a member function on a non-object in d:\www\meextee.fr\htdocs\essai\index.php on line 46
Problème suivant, est-il dû a mon fichiers en vue de la phrase Invalid filename car celui-ci comme tu peut le voir se nomme 73561.JPG
renomme le avec l'extension jpg (en minuscule)
ou alors si tu a beaucoup d'image avec l'extension .JPG (en majuscule) rajoute à cette ligne
$limitedext = array(".jpg", ".jpeg", ".png", ".bmp", ".gif", ".JPG" );
ca devrais marcher
ou alors si tu a beaucoup d'image avec l'extension .JPG (en majuscule) rajoute à cette ligne
$limitedext = array(".jpg", ".jpeg", ".png", ".bmp", ".gif", ".JPG" );
ca devrais marcher
Lewis, tu voit pas d'où peut venir l'erreur ?
Moi ça me semble bizarre, on devrait pas retrouver invalid filename
Moi ça me semble bizarre, on devrait pas retrouver invalid filename
2 points a verifier en premier
1) est ce que tu a la librairie GD activée dans ton php.
pour le savoir tu peut faire un fichier gd.php que tu met a la racine de ton site et tu met ce code :
2) verifie bien le chemin des images car a priori tes images ne sont pas trouvées
Unable to access www.meextee.fr/essai/fichiers/73561_th.jpg
et a cette endroit
1) est ce que tu a la librairie GD activée dans ton php.
pour le savoir tu peut faire un fichier gd.php que tu met a la racine de ton site et tu met ce code :
<?php echo "Vous avez PHP ".phpversion(); $gd_info = gd_info(); if(!$gd_info) die("<br />La librairie GD n'est pas installée !"); echo "<br />Vous avez GD {$gd_info['GD Version']}"; ?>
2) verifie bien le chemin des images car a priori tes images ne sont pas trouvées
Unable to access www.meextee.fr/essai/fichiers/73561_th.jpg
et a cette endroit
$file_type = $_FILES['imgfile']['type']; $file_name = $_FILES['imgfile']['name']; $file_size = $_FILES['imgfile']['size']; $file_tmp = $_FILES['imgfile']['tmp_name']; fait un echo de toutes les variables pour savoir si tu les recupere avantv de les travailler echo'file name'.$file_name.'<br/>file sze'.$file_size.'<br/>filetmp'.$file_tmp;
pour gd.php, j'ai ce message :
Vous avez PHP 4.4.2
Vous avez GD bundled (2.0.28 compatible)
donc à priori le GD est activé.
sinon je ne comprend pas bien le 2), mon fichier est stocké sur mon pc, il n'y à aucunes raison qu'il ne le trouve pas le chemin est correct
de plus je viens d'essayer avec une autre image, même problème !
Vous avez PHP 4.4.2
Vous avez GD bundled (2.0.28 compatible)
donc à priori le GD est activé.
sinon je ne comprend pas bien le 2), mon fichier est stocké sur mon pc, il n'y à aucunes raison qu'il ne le trouve pas le chemin est correct
de plus je viens d'essayer avec une autre image, même problème !