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 :

$_Files sur upload php


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2018
    Messages : 3
    Par défaut $_Files sur upload php
    Bonjour a tous,

    je fais un projet pour l'école que j'avais fini ou tout fonctionnait, je le ré-ouvre trois mois après, tint tin ça ne fonctionne plus, mon upload est devenu fantomatique. Il ne se passe rien.
    J'ai des erreur sur la variable $_FILES[userfile] qui est toujours vide...
    On a été plusieurs étudiants a chercher ce fichu problème sans succès.. Vous êtes mon dernier espoir
    Voici mon code
    Le formulaire PHP/HTML
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     <form enctype="multipart/form-data" action="upload.php" method="post" >
     
          Transfèrer le fichier<br /><br /><br />
          <input type="hidden" name="id" value="<?php echo $idHF;?>" />
           <input type="file" name="userfile" value="userfile" /><br /><br />
          <input type="submit"  value="Valider" />
        </form>

    La page d'upload
    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    <?php
    /**
     * Page d'accueil de l'application web AppliFrais
     * @package default
     * @todo  RAS
     */
      $repInclude = './include/';
      require($repInclude . "_init.inc.php");
     
      // page inaccessible si visiteur non connecté
      if ( ! estVisiteurConnecte() )
      {
            header("Location: cSeConnecter.php");
      }
     
     
     
     
        require($repInclude . "_entete.inc.html");
        require($repInclude . "_sommaire.inc.php");
     
     
          if (estVisiteurConnecte() ) {
              $idUser = obtenirIdUserConnecte() ;
              $lgUser = obtenirDetailVisiteur($idConnexion, $idUser);
              $nom = $lgUser['nom'];
              $nomU= $lgUser['nom']."/".$prenom."/";
              $prenom = $lgUser['prenom'];
     
    		}
     
     
    $idHF= $_GET['id'];
    var_dump($idHF);
    $mois = date('Ym');
    $date = date("d-m-Y ");
    $heure= date('H:i:s');
    $login = lireDonneePost("txtLogin");
    $dossier_visiteur = 'C:/wamp64/www/appli_frais/upload/'.$idUser."/".$mois."/";
    $fichier = $_FILES['userfile']['name'].$date.$heure;
    $taille_maxi = 1000000;
    $taille = $_FILES['userfile']['size'];
    var_dump( $_FILES['userfile']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg');
    $extension = strrchr($_FILES['userfile']['name'], '.');
    var_dump($extension);
     
     
    	if(!in_array($extension, $extensions))
    	{
    	     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg';
    	}
    	if($taille>$taille_maxi)
    	{
    	     $erreur = 'Le fichier est trop gros...';
    	}
    if(!isset($erreur)){
      header('Location: cJustificatif.php');
     
     
    $fichier = strtr($fichier,
    		  'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
    		  'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     
     
     
    if(is_dir($dossier_visiteur) == FALSE) {
     mkdir($dossier_visiteur, 0777, true);
     
     
    }
     
    header('Location: cJustificatif.php');
     
    	    if(move_uploaded_file($_FILES['userfile']['tmp_name'], $dossier_visiteur.$fichier)) {
            $_SESSION['url']=$dossier_visiteur.$fichier;
            print'$fichier';
            header('Location: cJustificatif.php');
            }
    	     else
    	     {
    		  echo 'Echec de l\'upload !';
        }
      }
     
     
     
      require($repInclude . "_pied.inc.html");
      require($repInclude . "_fin.inc.php");
    ?>

    Merci a tous

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 199
    Par défaut
    Bonjour,

    Quels sont les messages d'erreurs affiché ?

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2018
    Messages : 3
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Undefined index: userfile in C:\wamp64\www\appli_frais\upload.php on line 4
    Et le var dump me revien un null

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Le n° de ligne correspond en fait à la ligne 11, if ( ! estVisiteurConnecte() ), est ce que la fonction externe estVisiteurConnecte n'aurait pas été modifiée ?
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2018
    Messages : 3
    Par défaut
    non car elle est apellée dans toutes les autres pages et je n'ai pas ce problème

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    On peut considérer qu'il y a eu un changement durant les derniers 3 mois, puisque cela fonctionnait avant.
    Le fichier de configuration php.ini a t il toujours la ligne directive file_uploads activée, car c'est typiquement le type d'erreur renvoyé pour ce qui est du chemin vide, variable $_FILES[userfile] dans ton code.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,



    A aucun moment on teste si $_FILES['userfile'] existe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if( isset($_FILES['userfile']) )
    {
    ...


    Peut-on voir la ligne 4 (et les 3 lignes AVANT) du fichier appli_frais\upload.php ?

    Et ce ne serait pas plutôt ligne 40 ??
    Ce serait plus cohérent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fichier = $_FILES['userfile']['name'].$date.$heure;
    Dernière modification par Invité ; 27/08/2018 à 17h21.

  8. #8
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Aussi si la taille de ton fichier dépasse la configuration serveur post_max_size la globale FILES ne sera que partiellement renseignée (ou pas du tout suivant les serveurs) et dans tous les cas tu ne pourras pas faire l'upload. Dans ce cas il faut soit augmenter cette valeur serveur, soit utiliser une solution d'upload ajax/php (exemples prêts à l'emploi) qui permet de surpasser cette configuration serveur.

Discussions similaires

  1. Uploader un fichier en POST sur un PHP
    Par Bigmlb dans le forum Réseau
    Réponses: 6
    Dernier message: 28/07/2014, 21h28
  2. [Sécurité] attente d'un evenement sur page PHP
    Par macmac dans le forum Langage
    Réponses: 10
    Dernier message: 01/12/2005, 15h01
  3. [CKEditor] Problème sur upload
    Par raptor70 dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 23/11/2005, 14h07
  4. Insertion d'1 petit texte ciblé sur page .php avec echo
    Par sabine2000 dans le forum Langage
    Réponses: 1
    Dernier message: 21/10/2005, 11h31

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