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
    Nouveau 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
    Points : 1
    Points
    1
    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 régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 121
    Points
    121
    Par défaut
    Bonjour,

    Quels sont les messages d'erreurs affiché ?

  3. #3
    Nouveau 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
    Points : 1
    Points
    1
    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
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 165
    Points
    17 165
    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 ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Nouveau 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
    Points : 1
    Points
    1
    Par défaut
    non car elle est apellée dans toutes les autres pages et je n'ai pas ce problème

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 165
    Points
    17 165
    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.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → 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 éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 383
    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 383
    Points : 10 411
    Points
    10 411
    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