T-VARIABLE inattendu

bonjour,
Je viens de créer un formulaire qui permet depuis une page web d'envoyer une photo sur mon serveur, j'ai aussi écrit le php qui permet de réceptionner ces images sur le serveur mais mon debuggeur me dit que ai une T-VARIABLE inattendu à la ligne 6 de mon script! Pourtant après beaucoup de vérification je n'ai toujours pas trouvé la solution à mon problème.

Voici mon code php :
<?php
if ($_FILES[ 'tinyrank' ] [ 'error' ] > 0) $erreur = "erreur lors du transfert";
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
$extension_upload = strtolower( strrchr($_FILES[ 'tinyrank' ] [ 'name' ], '.') );
if ( in-array($extension_upload,$extensions_valides) ) echo "Extension correcte";
$nomFichier = $_FILES[ 'tinyrank' ] [ 'name' ] ;
$newNomFichier = 'tinyrank';
rename($nomFichier, $newNomFichier)
$resultat = move_uploaded_file($_FILES[ 'tinyrank' ]['tmp_name'],"../image/);
if ($resultat) echo 'good';
?>


Merci d'avance pour vos réponse,
Antoine

2 réponses

  1. Modérateur
    Je vois déjà une erreur au niveau de la ligne
    $resultat = move_uploaded_file($_FILES[ 'tinyrank' ]['tmp_name'],"../image/);
    

    Il manque une quote à la fin
    $resultat = move_uploaded_file($_FILES[ 'tinyrank' ]['tmp_name'],"../image/");
    


    Par contre, évite de mettre des espaces dans tes variables :
    $_FILES[ 'tinyrank' ] [ 'error' ]
    

    devrait plutôt s'écrire :
    $_FILES[ 'tinyrank' ][ 'error' ]
    

    (idem pour les autres lignes ! )

    et enfin... même si cela est autorisé en PHP ... préfère mettre les accolades avec tes IF.. ça évite des erreurs.. et ça rend la lecture du code plus simple.
    if ($_FILES[ 'tinyrank' ][ 'error' ]){
      $erreur = "erreur lors du transfert";
     }
    
    
    


    Cordialement,
    Jordane
    1. Modérateur
      in-array
      c'est pas
      in_array
      plutôt ?
      1. Merci pour cette erreur mais cela ne corrige pas mon erreur principale. :)
      2. Modérateur
        En général c'est dû à un ; oublié.