Précédent   Forum des professionnels en informatique > PHP > Scripts
Scripts Forum d'entraide sur les scripts PHP téléchargés. Les meilleurs scripts PHP, la FAQ scripts PHP, toutes les FAQ PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/06/2006, 21h04   #1
Candidat au titre de Membre du Club
 
Inscription : septembre 2005
Messages : 72
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 72
Points : 13
Points : 13
Par défaut Télécharger plusieurs images a partir d'un formulaire ?

Hello, Voici mon problème,

J’ai un petit catalogue sur lequel je voudrais pouvoir télécharger des photos.
J’ai trouvé sur le net un formulaire Javascript qui permet de télélcharger plusieurs photos en même temps … ensuite j'ai bidouillé un code Php d'envoi.... les photos s’inscrivent bien dans la base de données Mais ne sont pas téléchargées….

Comment faire cela ?
Qui pourrait m’aider ?

Je laisse les 2 codes ci-dessous, merci de bien vouloir jeter un œil. Merci

Le voici le code du formulaire :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<form action="load.php" 
method="post" 
enctype="multipart/form-data" 
name="envoi_fichiers" 
target="_self" 
id="envoi_fichiers">
dessin 
  <input type="file" name="fichier_1" /><br />
photo1 
<input type="file" name="fichier_2" /><br />
photo2 
<input type="file" name="fichier_3" /><br />
photo3 
<input type="file" name="fichier_4" /><br />
photo4 
<input type="file" name="fichier_5" /><br />
<span id="leschamps_6"><a href="javascript:create_champ(6)"></a></span>
                              <br />
                              <br />
                              <br />
   <input type="submit" name="Submit" id="Submit" value="Ins&eacute;rer" />
<input type="hidden" name="MAX_FILE_SIZE" value="70000" />
</form>


code PHP d’envoi vers la BDD :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
<?php
//Verif champs
if(!empty($_FILES["fichier_1"]["name"]))
if(!empty($_FILES["fichier_2"]["name"]))
if(!empty($_FILES["fichier_3"]["name"]))
if(!empty($_FILES["fichier_4"]["name"]))
if(!empty($_FILES["fichier_5"]["name"]))
{
	//nom fichiers
	$nomFichier    = $_FILES["fichier_1"]["name"] ;
	$nomFichier    = $_FILES["fichier_2"]["name"] ;
	$nomFichier    = $_FILES["fichier_3"]["name"] ;
	$nomFichier    = $_FILES["fichier_4"]["name"] ;
	$nomFichier    = $_FILES["fichier_5"]["name"] ;
 
 
	$nomTemporaire = $_FILES["fichier_1"]["tmp_name"] ;
	$nomTemporaire = $_FILES["fichier_2"]["tmp_name"] ;
	$nomTemporaire = $_FILES["fichier_3"]["tmp_name"] ;
	$nomTemporaire = $_FILES["fichier_4"]["tmp_name"] ;
	$nomTemporaire = $_FILES["fichier_5"]["tmp_name"] ;
 
	$typeFichier   = $_FILES["fichier_1"]["type"] ;
	$typeFichier   = $_FILES["fichier_2"]["type"] ;
	$typeFichier   = $_FILES["fichier_3"]["type"] ;
	$typeFichier   = $_FILES["fichier_4"]["type"] ;
	$typeFichier   = $_FILES["fichier_5"]["type"] ;
 
	$poidsFichier  = $_FILES["fichier_1"]["size"] ;
	$poidsFichier  = $_FILES["fichier_2"]["size"] ;
	$poidsFichier  = $_FILES["fichier_3"]["size"] ;
	$poidsFichier  = $_FILES["fichier_4"]["size"] ;
	$poidsFichier  = $_FILES["fichier_5"]["size"] ;
 
//code erreur:
	$codeErreur    = $_FILES["fichier_1"]["error"] ;
	$codeErreur    = $_FILES["fichier_2"]["error"] ;
	$codeErreur    = $_FILES["fichier_3"]["error"] ;
	$codeErreur    = $_FILES["fichier_4"]["error"] ;
	$codeErreur    = $_FILES["fichier_5"]["error"] ;
 
	$chemin = "../photos/" ; …?>
loady est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 21h20   #2
Membre expérimenté
 
Développeur Web
Inscription : avril 2006
Messages : 430
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 430
Points : 538
Points : 538
Salut,

t'es certain que tes photos sont bien "enregistrées" dans la DB? c'est ton script d'envoi qui fait ca ?
parce que là, ca me parait impossible...

Code :
1
2
3
4
5
6
7
 
if(!empty($_FILES["fichier_1"]["name"]))
if(!empty($_FILES["fichier_2"]["name"]))
if(!empty($_FILES["fichier_3"]["name"]))
if(!empty($_FILES["fichier_4"]["name"]))
if(!empty($_FILES["fichier_5"]["name"]))
{
ca représente quoi ca ?

Et ca :
Code :
1
2
3
4
5
6
 
 $nomFichier    = $_FILES["fichier_1"]["name"] ;
 $nomFichier    = $_FILES["fichier_2"]["name"] ;
 $nomFichier    = $_FILES["fichier_3"]["name"] ;
 $nomFichier    = $_FILES["fichier_4"]["name"] ;
 $nomFichier    = $_FILES["fichier_5"]["name"] ;
ca sert à quoi?

Y'a un sérieux travail à faire du côté de ce script... Penser aux boucles, écrire une structure correcte de if...
bkill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 22h51   #3
Candidat au titre de Membre du Club
 
Inscription : septembre 2005
Messages : 72
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 72
Points : 13
Points : 13
OUI, j'ai tout recommencé plus simplement, comme ca tout s'enregistre dans la base mais j'arrive pas a télécharger les photos... qui peut m'aider à résoudre ce problème? Merci

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
if(!empty($_FILES["fichier_1"]["name"]))
if(!empty($_FILES["fichier_2"]["name"]))
{
	$nomFichier    = $_FILES["fichier_1"]["name"] ;
             $nomFichier    = $_FILES["fichier_2"]["name"] ;
 
	$nomTemporaire = $_FILES["fichier_1"]["tmp_name"] ;
	$nomTemporaire = $_FILES["fichier_2"]["tmp_name"] ;
 
	$typeFichier   = $_FILES["fichier_1"]["type"] ;
	$typeFichier   = $_FILES["fichier_2"]["type"] ;
 
	$poidsFichier  = $_FILES["fichier_1"]["size"] ;
	$poidsFichier  = $_FILES["fichier_2"]["size"] ;
 
	$codeErreur    = $_FILES["fichier_1"]["error"] ;
	$codeErreur    = $_FILES["fichier_2"]["error"] ;
 
	$chemin = "/photos/" ;
loady est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 23h09   #4
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
Est ce que tu as un message d'erreur ?
Est ce que tu as une idée d'où ton script ne fonctionne plus?
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2006, 00h01   #5
Candidat au titre de Membre du Club
 
Inscription : septembre 2005
Messages : 72
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 72
Points : 13
Points : 13
J'avais un parse error mais j'ai pu le corriger, il manquait ca à la fin

Sinon, tout s'inscrit dans la base mais seule 1 des 2 photos est téléchargée sur la page... Si qq'un voit comme résoudre mon problème, d'avance merci pour votre aide.
loady est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2006, 10h09   #6
Membre régulier
 
Inscription : juin 2004
Messages : 92
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 92
Points : 75
Points : 75
en essayant un code plus simple:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
$chemin = "../photos/";
foreach ($_FILES as $tmp_file) {
   // ça ne traite que les $_FILES remplis
   $nomFichier = $tmp_file["name"];
   $nomTemporaire = $tmp_file["tmp_name"];
   $poidsFichier  = $tmp_file["size"];
   if (move_uploaded_file($nomTemporaire, $chemin.$nomFichier)) {
      if (!getimagesize($chemin.$nomFichier)) {
         unlink($chemin.$nomFichier);
         echo "$nomFichier n'est pas une image<br />\n";
      }
   }
}
?>
CrazyCat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2006, 10h19   #7
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
Citation:
Envoyé par loady
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$nomFichier    = $_FILES["fichier_1"]["name"] ;
        $nomFichier    = $_FILES["fichier_2"]["name"] ;
 
	$nomTemporaire = $_FILES["fichier_1"]["tmp_name"] ;
	$nomTemporaire = $_FILES["fichier_2"]["tmp_name"] ;
 
	$typeFichier   = $_FILES["fichier_1"]["type"] ;
	$typeFichier   = $_FILES["fichier_2"]["type"] ;
 
	$poidsFichier  = $_FILES["fichier_1"]["size"] ;
	$poidsFichier  = $_FILES["fichier_2"]["size"] ;
 
	$codeErreur    = $_FILES["fichier_1"]["error"] ;
	$codeErreur    = $_FILES["fichier_2"]["error"];
Comprend tu ce que tu fait ?
Quand tu défini une variable, il ne sert absoluement a rien de la définir 2 fois.
toutes les lignes du genre :

Code :
1
2
$a=(truc);
$a=(machin);
peuvent toujours etres remplacées par : $a=(machin);
la ligne $a=(truc); ne servant absoluement a rien...
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2006, 12h29   #8
Candidat au titre de Membre du Club
 
Inscription : septembre 2005
Messages : 72
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 72
Points : 13
Points : 13
Hello,

CrazyCat > MERCI pour ton aide.

FladNag > non, je comprends pas tout, je suis débutant, J'apprends par la pratique.

loady est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2006, 12h43   #9
Membre régulier
 
Inscription : juin 2004
Messages : 92
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 92
Points : 75
Points : 75
Alors si tu apprends, voici une grande leçon concernant ton script:
lorsque tu fais:
Code :
1
2
3
4
5
$nomFichier    = $_FILES["fichier_1"]["name"] ;
$nomFichier    = $_FILES["fichier_2"]["name"] ;
$nomFichier    = $_FILES["fichier_3"]["name"] ;
$nomFichier    = $_FILES["fichier_4"]["name"] ;
$nomFichier    = $_FILES["fichier_5"]["name"] ;
tu te retrouves au final avec $nomFichier qui contient la dernière valeur.
C'est pourquoi il vaut mieux fonctionner par boucles et faire tout ton traitement avant de passer à la suite.
CrazyCat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h04.


 
 
 
 
Partenaires

Hébergement Web