IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

probleme de $_FILES


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Par défaut probleme de $_FILES
    slt s'il vous plait quelqu’un peut m'aider a résoudre mon problème de $_files
    je suis débutante
    mon code est juste sauf que il me reconnait le imgprod de $_files comment faire s'il vous plait
    je pense que le $_file ne fonctionne pas et les données sa passe pas !!!!!



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
    	<title>Création d'un formulaire d'inscription</title>
    	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    	<link rel="stylesheet" href="css/datecss.css" type="text/css" media="screen" charset="utf-8">
      </head>
     
    <body>
    <?php
    include("test.php");
    ?>
           <form action="index1.php" method="post" name="form1" enctype="multipart/form-data" >
         <table width="532">                    
    	<tr>
    		<td height="35"><label for="pass2"><strong>Image : </strong></label> </td>
    		<td>  <input class="input" type="file" name="imgprod"/></td>
    	</tr>
    		<br>
    		 </table>
    		<input type="submit" name="envoyer" value="Enregistrer" />
    		<br>
    		<input type="reset" name="reset" value="Réinitialiser" />
    	  </p>
           </form>
     
    	  </td>
    	</tr>
    </table>
    </body>
    </html>
    le fichier index1.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    < ?php
    isset($_FILES['imgprod']);
    	print_r($_FILES['imgprod']);
    	$nouvnom = "$pid.jpg";
    	move_uploaded_file( $_FILES['imgprod']['tmp_name'], "image/$nouvnom");
    ?>

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Pourrais-tu préciser ton problème ? Tu as un message d'erreur ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Citation Envoyé par j'apprend Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    < ?php
    isset($_FILES['imgprod']);
        print_r($_FILES['imgprod']);
        $nouvnom = "$pid.jpg";
        move_uploaded_file( $_FILES['imgprod']['tmp_name'], "image/$nouvnom");
    ?>
    Si le code de index1.php est complet, c'est normal puisque $pid n'est pas déclaré à cette ligne $nouvnom = "$pid.jpg"

    Sinon je rejoins Celira sur ses questions. Un peu plus d'info serait appréciable
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    admin systèm junior
    Inscrit en
    Octobre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : admin systèm junior

    Informations forums :
    Inscription : Octobre 2012
    Messages : 8
    Par défaut Cte variable $FILES qui m'em***** depuis quelques temps
    Bonsoir
    Je remonte le sujet car je suis concerné par un problème avec cte ******* de variable $FILES.
    Je m'explique:
    J'utilise wamp avec PHP 5.4.3, Apache 2.2.22 et MySQL 5.5.24. Le tout sur Win XP Pro.

    J'ai lu la doc située ici http://g-rossolini.developpez.com/tu...p/formulaires/.

    Dans cette doc il y a une ligne qui stipule ceci:
    $_FILES n'est plus inclus depuis la version 4.3 de PHP.

    Donc ma grande question est:
    Comment je fais pour gérer un fichier avec php sans cte foutue variable?
    J'ai arpenter le net sur moult site, y en a pas un qui propose une alternative à cte variable.

    Là franchement dit j'en ai plein les chaussettes. Je requière donc votre aide.
    Parce que là je suis a 2 doigts de faire un

    Petite précision j'ai commencé PHP y a 10 jours.

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour

    $_FILES n'est plus inclus depuis la version 4.3 de PHP.
    Il l'est toujours la doc.
    C'est $HTTP_POST_FILES qui est "deprecated" depuis la version 4.1 en faveurs de $_FILES bien qu'il existe toujours .

    A+.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    admin systèm junior
    Inscrit en
    Octobre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : admin systèm junior

    Informations forums :
    Inscription : Octobre 2012
    Messages : 8
    Par défaut $FILES
    OK.Merci.
    Donc mon problème se situe dans mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    <html>
    	<head><title>Stock d'images</title></head>
    	<body>
     
     
     
     
    	<h2>Envoi d'une image</h2>
    		<form enctype="multipart/form-data" action="img.php" method="post">
    			<input type="hidden" name="MAX_FILE_SIZE" value="250000" />
    			<input type="file" name="img[]" size=50 /><br><br>
    			<input type="submit" name="ok" value="Envoyer" />
    		</form>
     
    		<?php
     
    			include ('fonctions.php');
     
    			if (isset($_POST['ok']))
    				{
    					$ret = false;
    					$blob = '';
    					$taille = 0;
    					$type = '';
    					$nom = '';
    					$max = 250000;
    					$imge = $_FILES['img']['tmp_name'];
     
    					$ret = (isset($imge));
     
    					if (!$ret)
    						{
    							echo 'Problème de transfert';
    							return false;
    						}			
     
    					else 
    						{
    							// Le fichier a bien été reçu
    							$taille = $_FILES['img']['size'];
    							if ($taille > $max)
    								{
    									echo 'Trop gros !';
    									return false;
    								}
    							$type = $_FILES['img']['type'];
    							$nom = $_FILES['img']['name'];
    							$blob = file_get_contents ($_FILES['img']['tmp_name']);
     
    							test();					
     
    							$sql = 'INSERT INTO image VALUES ("","'.$nom.'","'.$type.'", "'.addslashes($blob).'")';
    							$ret = mysql_query ($sql) or die (mysql_error ());
     
    							return true;
    							mysql_close;
    						}
    				}
    		?>
    	</body>
    </html>
    Chaque fois que je clique sur envoyer, ça me répond "Problème de transfert" et y a a rien dans ma BDD.
    Je sais plus quoi chercher/faire pour que ça marche.
    Donc si quelqu'un aurait l'amabilité d'analyser ce bout de code et de donner une piste, une correction, une idée ou une solution, j'en serais vraiment heureux.

    Merci d'avance pour l'aide apportée.

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 646
    Billets dans le blog
    20
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="file" name="img[]" size=50 />
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $imge = $_FILES['img']['tmp_name'];
    Dans le code HTML, tu indiques que le champ img sera de type tableau (je se demande pourquoi d'ailleurs) (name="img[]") mais dans ton code PHP, tu ne le traites pas comme tel, alors c'est sûr, tu auras du mal à trouver l'entrée tmp_name si tu ne précises pas à quel rang de ton tableau tu te places.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    admin systèm junior
    Inscrit en
    Octobre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : admin systèm junior

    Informations forums :
    Inscription : Octobre 2012
    Messages : 8
    Par défaut
    Merci pour la réponse.
    J'ai essayé tellement de truc que j'ai même pas vu le bronx qu'y en avait dans mon code.
    Du coup je l'ai refais, mais pas marche . Dégouté....

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    <html>
    	<head><title>Stock d'images</title></head>
    	<body>
     
    	<h2>Envoi d'une image</h2>
    		<form enctype="multipart/form-data" action="transimg.php" method="post">
    			<input type="hidden" name="MAX_FILE_SIZE" value="250000" />
    			<input type="file" name="img" size=50 /><br><br>
    			<input type="submit" name="ok" value="Envoyer" />
    		</form>
     
    			<?php
     
    				include('fonctions.php');
     
    				if (isset($FILES['img'])) //fonction de transfert d'image dans la BDD mysql
    					{
    						$ret = false;
    						$blob = '';
    						$taille = 0;
    						$type = '';
    						$nom = '';
    						$max = 250000;
     
    						$ret = is_uploaded_file ($_FILES['img']['tmp_name']);
     
    						if (!$ret)
    							{
    								echo 'Problème de transfert';
    								return false;
    							}			
     
    						else 
    							{
    								// Le fichier a bien été reçu
    								$taille = $_FILES['img']['size'];
     
    								if ($taille > $max)
    									{
    										echo 'Trop gros !';
    										return false;
    									}
     
    								$type = $_FILES['img']['type'];
    								$nom = $_FILES['img']['name'];
    								$blob = file_get_contents ($_FILES['img']['tmp_name']);
     
    								test();					
     
    								$sql = 'INSERT INTO image VALUES ("","'.$nom.'","'.$type.'", "'.addslashes($blob).'")';
    								$ret = mysql_query($sql) or die (mysql_error ());
     
    								return true;
    								echo 'Transfer effectué';
    								/*mysql_free_result($sql);
    								mysql_close;*/
    							}
    					}
    			?>
    	</body>
    </html>

Discussions similaires

  1. Probleme avec $_FILES !
    Par ekimone dans le forum Langage
    Réponses: 2
    Dernier message: 26/03/2009, 00h11
  2. [PHP-JS] Probleme avec la superglobale $_FILES
    Par bebas dans le forum Langage
    Réponses: 2
    Dernier message: 04/07/2007, 09h10
  3. [Upload] Probleme de passage de valeur dans un $_FILES
    Par chrisKey dans le forum Langage
    Réponses: 2
    Dernier message: 01/07/2007, 13h15
  4. Probleme avec $_FILES
    Par Wu dans le forum Langage
    Réponses: 12
    Dernier message: 10/02/2006, 11h13
  5. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo