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 :

parse error introuvable


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 295
    Par défaut parse error introuvable
    Bonsoir,

    voila j'ai un parse error que je n'arrive pas a trouver,d'habitude j'y arrive mais la rien
    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
     
     
    function move_photo($photo1, $photo2)
    {
        $extension_upload1 = strtolower(substr(  strrchr($photo1['name'], '.')  ,1));
        $name1 = time();
        $nomarriere1= str_replace(' ','',$name1).".".$extension_upload1;
        $name1 = "../image/image/".str_replace(' ','',$name1).".".$extension_upload1;
        move_uploaded_file($photo1['tmp_name'],$name1);
     
        $extension_upload2 = strtolower(substr(  strrchr($photo2['name'], '.')  ,1));
        $name2 = time();
        $nomarriere2= str_replace(' ','',$name2).".".$extension_upload2;
        $name2 = "../image/image/".str_replace(' ','',$name2).".".$extension_upload2;
        move_uploaded_file($photo2['tmp_name'],$name2);
     
     
        $nomarriere = [$nomarriere1,$nomarriere2];
     
        return $nomarriere;
     
    }

    le parse error est en ligne 18,je ne vois pas d’où vient l'erreur

    merci pour votre aide

  2. #2
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut
    Salut,

    Je pense que ca marchera mieux comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nomarriere = array($nomarriere1,$nomarriere2);

  3. #3
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Je réagit juste concernant la conception de cette fonction.
    Normalement on crée une fonction pour éviter du code répétitif, sinon il y a aucun intérêt.

    Il y a du code répétitif : 2 fois les mêmes traitements pour les 2 photos.
    Si demain il doit avoir une 3ème photos, une 4ème, etc, faudra le répéter autant de fois.
    Puis si demain il faudra le faire sur 1 seule ? il faudra créer une nouvelle fonction, plutôt embêtant, non ?

    Procéder ainsi permettra de répondre à tout ces cas ci-dessus :
    La fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function move_photo($photo) {
        $extension_upload = strtolower(substr(strrchr($photo['name'], '.'), 1));
        $name = time();
        $nomarriere = str_replace(' ', '', $name).".".$extension_upload;
        $name = "../image/image/".str_replace(' ', '', $name).".".$extension_upload;
        move_uploaded_file($photo['tmp_name'], $name);
        //
        return $nomarriere;
    }
    A l'usage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // Récupération des photos
    $photo1 = $_FILES['photo1'];
    $photo2 = $_FILES['photo2'];
     
    // On stock les noms dans un tableau
    $nomarriere = array();
    $nomarriere[] = move_photo($photo1);
    $nomarriere[] = move_photo($photo2);
    Ceci va du coup te permettre de déplacer la photo dans le répertoire que tu veux par exemple, suffit de rajouter un paramètre genre $repname.
    De founir aussi un nom de fichier, autre paramètre aussi, genre $name;
    Exemple : function move_photo($photo, $name, $repname = 'image') { ... }
    ... etc ...
    En somme, de créer 1 seule fonction pouvant répondre à de cas différents.
    Vois tu mieux l'intérêt de la chose ?


    Par ailleurs, ce code m'étonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $name = time();
    $nomarriere = str_replace(' ', '', $name) ... etc ...
    La fonction time() retourne un entier (un int).
    Il n'y a théoriquement pas lieu de vouloir supprimer des espaces car il n'y en aura pas.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 295
    Par défaut
    RunCodePhp,pour la vérification de l'image,tu la fais que pour une photo ou tu double la verif

  5. #5
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    pour la vérification de l'image,tu la fais que pour une photo ou tu double la verif
    Pas sûr de bien saisir la question (faut pas hésiter à apporter des précisions).

    Si cela concerne les vérification comme : si l'image existe, si le type est correcte (jpg, png, gif, ...), etc ...
    Ces vérifs sont à faire autant de fois qu'il y a d'images.
    Quelque soit la manière de faire, même la plus évoluée, les vérifs sont à faire autant de fois qu'il y a de photos.


    - Si ces vérifs sont faites avant d'appeler la fonction move_photo(), rien ne change, même avec l'évolution de code que j'ai suggéré.

    - Si tu prévois d'intégrer ces vérifs dans la fonction move_photo (l'évolution), le code est a mettre qu'une seule fois, car cela concerne qu'une seule photo.
    Mais comme la fonction est appelée autant de fois qu'il y a de photo, cela revient au même, les vérifs seront faites autant de fois aussi, donc pour chaque photo.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 295
    Par défaut
    j'utilise cette vérification


    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
     
    if (!empty($_FILES['photo']['size']))
    {
    //On définit les variables :
    $maxsize = 42000; //Poid de l'image
    $maxwidth = 120; //Largeur de l'image
    $maxheight = 120; //Longueur de l'image
    $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
     
    if ($_FILES['photo']['error'] > 0)
    {
    $avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
    }
    if ($_FILES['photo']['size'] > $maxsize)
    {
    $i++;
    $avatar_erreur1 = "Le fichier est trop gros : (<strong>".$_FILES['photo']['size']." Octets</strong>    contre <strong>".$maxsize." Octets</strong>)";
    }
     
    $image_sizes = getimagesize($_FILES['photo']['tmp_name']);
    if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
    {
    $i++;
    $avatar_erreur2 = "Image trop large ou trop longue : 
    (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre <strong>".$maxwidth."x".$maxheight."</strong>)";
    }
     
    $extension_upload = strtolower(substr(  strrchr($_FILES['photo']['name'], '.')  ,1));
    if (!in_array($extension_upload,$extensions_valides) )
    {
    $i++;
    $avatar_erreur3 = "Extension de l'avatar incorrecte";
    }
    }

    +cette ligne pour bouger la photo vers le dossier désiré avant une insértion

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nomariere=(!empty($_FILES['photo']['size']))?move_photo($_FILES['photo']):'';

    donc pour la vérification de mes 2 photos,je ne sait pas comment faire,je pensais que sa se ferait tout seul mais non,je pourrais faire une boucle mais je n'arrive pas a comprendre comment faire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. parse error introuvable
    Par taimpus dans le forum Langage
    Réponses: 2
    Dernier message: 26/03/2015, 09h28
  2. Parse error : origine introuvable !
    Par SweetLeaf dans le forum Langage
    Réponses: 5
    Dernier message: 04/07/2008, 10h53
  3. [HTML] Parse error. Probleme introuvable !
    Par SweetLeaf dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 03/07/2008, 15h15
  4. [POO] parse error introuvable include/require
    Par highman dans le forum Langage
    Réponses: 5
    Dernier message: 22/10/2006, 15h31
  5. [Mail] parse error, expecting `','' or `';'' introuvable
    Par ApollloCrid dans le forum Langage
    Réponses: 20
    Dernier message: 05/02/2006, 00h26

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