Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
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 04/01/2007, 11h22   #1
Membre du Club
 
Inscription : mai 2003
Messages : 222
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 222
Points : 67
Points : 67
Par défaut Formulaire d'upload

Bonjour à tous

J'ai developpe ce peiti script en php qui permet d'uploader un fichier avec une restriction de taille et de format le script fonctionne mal je n'arrive pas trouver l'erreur
quand on upload un fichier de plus de 300 Ko le message d'erreur est toujours le premier

Veuillez sélectionner un fichier de type png, gif ou jpg

au lieu du second message j'ai l'impression qu'il ne rentre pas dans la seconde condition
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
<? 
unset($erreur);
$rep_destination=$_SERVER['DOCUMENT_ROOT']."/Foto";
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$MAX_FILE_SIZE = 300000;
 
if (isset($_FILES["photo"])) {
 if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
  {
    $erreur = '<font color="red"><b>Veuillez sélectionner un fichier de type png, gif ou jpg !</b></font>';  
  }
  elseif( file_exists($_FILES['photo']['tmp_name'] > $MAX_FILE_SIZE))
  {
    $erreur = '<font color="red"><b>Votre fichier doit faire moins de 300Ko !</font></b>';
  }
 if(!isset($erreur)){
if (is_uploaded_file($_FILES["photo"]["tmp_name"]))
$destination=$rep_destination."/"
.$_FILES["photo"]["name"];
move_uploaded_file($_FILES["photo"]["tmp_name"],$destination);
 
}
}
?>
merci de votre aide
digger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 12h21   #2
Membre habitué
 
Avatar de crashyear
 
Homme Alexis COLLIN
Ingénieur développement logiciels
Inscription : janvier 2006
Messages : 194
Détails du profil
Informations personnelles :
Nom : Homme Alexis COLLIN
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Santé

Informations forums :
Inscription : janvier 2006
Messages : 194
Points : 119
Points : 119
Envoyer un message via MSN à crashyear
Et si tu test d'abort la taille du fichier ca donne quoi.
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
<? 
unset($erreur);
$rep_destination=$_SERVER['DOCUMENT_ROOT']."/Foto";
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$MAX_FILE_SIZE = 300000;
 
if (isset($_FILES["photo"])) {
  if( file_exists($_FILES['photo']['tmp_name'] > $MAX_FILE_SIZE))
  {
    $erreur = '<font color="red"><b>Votre fichier doit faire moins de 300Ko !</font></b>';
  }
 elseif( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
  {
    $erreur = '<font color="red"><b>Veuillez sélectionner un fichier de type png, gif ou jpg !</b></font>';  
  }
 if(!isset($erreur)){
if (is_uploaded_file($_FILES["photo"]["tmp_name"]))
$destination=$rep_destination."/"
.$_FILES["photo"]["name"];
move_uploaded_file($_FILES["photo"]["tmp_name"],$destination);
 
}
}
?>
crashyear est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 12h33   #3
Membre du Club
 
Inscription : mai 2003
Messages : 222
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 222
Points : 67
Points : 67
on peut tout envoyer il n'y a aucun message d'erreur
digger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 12h46   #4
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
Ta condition avec le file_exists n'est pas bonne.

Code php :
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
<?php
 
$rep_destination=$_SERVER['DOCUMENT_ROOT']."/Foto";
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$MAX_FILE_SIZE = 300000;
 
if (isset($_FILES["photo"])) 
{
  if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
  {
    $erreur = '<font color="red"><b>Veuillez sélectionner un fichier de type png, gif ou jpg !</b></font>';  
  }
  elseif( file_exists($_FILES['photo']['tmp_name']) && filesize($_FILES['photo']['tmp_name']) > $MAX_FILE_SIZE )
  {
    $erreur = '<font color="red"><b>Votre fichier doit faire moins de 300Ko !</font></b>';
  }
  if(!isset($erreur))
  {
    if (is_uploaded_file($_FILES["photo"]["tmp_name"]))
    $destination=$rep_destination."/".$_FILES["photo"]["name"];
    move_uploaded_file($_FILES["photo"]["tmp_name"],$destination);
  }
}
 
?>
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 13h00   #5
Membre du Club
 
Inscription : mai 2003
Messages : 222
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 222
Points : 67
Points : 67
Par défaut salut

il met met toujours Veuillez sélectionner un fichier de type png, gif ou jpg !

quand on upload un fichier de plus de 300 Ko
au lieu Votre fichier doit faire moins de 300Ko !</
digger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2007, 13h17   #6
Membre du Club
 
Inscription : mai 2003
Messages : 222
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 222
Points : 67
Points : 67
voila j'ai resolu le pb cela venait de la condition elseif
supprimer par un if
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
<?php
 
$rep_destination=$_SERVER['DOCUMENT_ROOT']."/Foto";
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$MAX_FILE_SIZE = 300000;
 
if (isset($_FILES["photo"])) 
{
  if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
  {
    $erreur = '<font color="red"><b>Veuillez sélectionner un fichier de type png, gif ou jpg !</b></font>';  
  }}
  if( file_exists($_FILES['photo']['tmp_name']) && filesize($_FILES['photo']['tmp_name']) > $MAX_FILE_SIZE )
  {
    $erreur = '<font color="red"><b>Votre fichier doit faire moins de 300Ko !</font></b>';
  }
  if(!isset($erreur))
  {
    if (is_uploaded_file($_FILES["photo"]["tmp_name"]))
    $destination=$rep_destination."/".$_FILES["photo"]["name"];
    move_uploaded_file($_FILES["photo"]["tmp_name"],$destination);
 
}
 
?>
digger 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 19h22.


 
 
 
 
Partenaires

Hébergement Web