Probleme "syntax error, unexpected $end"

Bonjour,

J'ai un soucis avec mon code, j'ai voulu faire un script PHP d'upload, il m'affiche l'erreur :

Parse error: syntax error, unexpected $end in C:\wamp\www\upload.php on line 59

Regardez mon code :

<head>
<html>
<body>
<title>Uploading...</title>
</head>

<h1>Uploading file...</h1>

<?php

if ($_FILES['userfile']['error'] > 0)
{
echo 'problem: ';
switch ($_FILES['userfile']['error'])
{
case 1: echo 'File exceeded upload_max_filesize'; break;
case 2: echo 'file exceed max_file_size'; break;
case 3: echo 'File only partially uploaded'; break;
case 4: echo 'No file Uploaded'; break;
}
exit;
}

// Le fichier possède-t-il le bon type MIME ?
if ($_FILES['userfile']['type'] != 'text/plain')
{
echo 'Problem: file is not plain text';
exit;
}

// Placer le fichier à l'emplacement désiré
$upfile = '/uploads/' .$_FILES['userfile']['name'] ;

if (is_uploaded_file($_FILES['userfile']['tmp_name']))
{
if (!move_uploaded_file($_FILE['userfile']['tmp_name'], $uofile))
{
echo 'problem: Could not move file to destination directory';
exit;
}
}
else
{
echo 'File uploaded Successfully<br /><br />';
// Reformater le contenue du fichier
$fp = fopen($upfile, 'r');
$contents = fread ($fp, filesize ($upfile));
fclose($fp);

$contents = strip_tages($contents);
$fp = fopen($upfile, 'w');
fwrite($fp, $contents);
fclose($fp);

// Afficher ce qui a été transférer avec une variable :
echo 'Aperçu du fichier télécharger :<br><hr>';
echo $contents;
echo '<br><hr>';
?>
</html></body>

___________________________________

Sachant que la ligne 59 est la derniere, pourriez vous m'aider
Configuration: Windows XP
Firefox 3.0.4

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonsoir,

    deux remarques la balise <head> avant <html> et </body> aprsè </html> c'est pas correct

    ensuite qd ça te sort une erreur $end dernière ligne c'est qu'il te manque une accolade }

    <html>
    <head>
    <body>
    <title>Uploading...</title>
    </head>
    
    <h1>Uploading file...</h1>
    
    <?php
    
    if ($_FILES['userfile']['error'] > 0)
    {
    echo 'problem: ';
    switch ($_FILES['userfile']['error'])
    {
    case 1: echo 'File exceeded upload_max_filesize'; break;
    case 2: echo 'file exceed max_file_size'; break;
    case 3: echo 'File only partially uploaded'; break;
    case 4: echo 'No file Uploaded'; break;
    }
    exit;
    }
    
    // Le fichier possède-t-il le bon type MIME ?
    if ($_FILES['userfile']['type'] != 'text/plain')
    {
    echo 'Problem: file is not plain text';
    exit;
    }
    
    // Placer le fichier à l'emplacement désiré
    $upfile = '/uploads/' .$_FILES['userfile']['name'] ;
    
    if (is_uploaded_file($_FILES['userfile']['tmp_name']))
    {
    if (!move_uploaded_file($_FILE['userfile']['tmp_name'], $uofile))
    {
    echo 'problem: Could not move file to destination directory';
    exit;
    }
    }
    else
    {
    echo 'File uploaded Successfully<br /><br />';
    // Reformater le contenue du fichier
    $fp = fopen($upfile, 'r');
    $contents = fread ($fp, filesize ($upfile));
    fclose($fp);
    
    $contents = strip_tages($contents);
    $fp = fopen($upfile, 'w');
    fwrite($fp, $contents);
    fclose($fp);
    
    // Afficher ce qui a été transférer avec une variable :
    echo 'Aperçu du fichier télécharger :<br><hr>';
    echo $contents;
    echo '<br><hr>';
    } //il manquait celle la 
    ?>
    </body>
    </html>
    1. Merci bien ça marche ;)

      Dites, cet phrase veut dire quoi ? parceque j'ai toujours l'erreur :

      // Le fichier possède-t-il le bon type MIME ?
      if ($_FILES['userfile']['type'] != 'text/plain')
  2. Double post, désoler, voici le message d'erreur :

    Problem: file is not plain text

    Pourriez-vous m'aider.

    Bye
    1. Ce n'est pas un message d'erreur que tu as mais l'affichage d'un echo suite au test:

      // Le fichier possède-t-il le bon type MIME ?
      if ($_FILES['userfile']['type'] != 'text/plain')
      {
      echo 'Problem: file is not plain text';
      exit;
      }


      donc ton fichier n'a pas le type text/plain, ou le navigateur ne renvoie pas cette info
    2. @LeGenDzne fais pas le test avec ['type']

      mais en utilisant l'extension dans le ['name']

      tu fais

       $array_fichier=explode(".",$_FILES['userfile']['name'];
      $array_fichier[1]  contient l'extension  
      
      .txt par exemple
      
      
      
      
    3. @Alain_42Peux-tu me mettre le texte à mettre dans le code please, parceque je sais pas ou le mettre ... :(

      Bye
    4. @LeGenDzDécidément il faut te mâcher le boulot:

      <html>
      <head>
      <body>
      <title>Uploading...</title>
      </head>
      
      <h1>Uploading file...</h1>
      
      <?php
      
      if ($_FILES['userfile']['error'] > 0)
      {
      echo 'problem: ';
      switch ($_FILES['userfile']['error'])
      {
      case 1: echo 'File exceeded upload_max_filesize'; break;
      case 2: echo 'file exceed max_file_size'; break;
      case 3: echo 'File only partially uploaded'; break;
      case 4: echo 'No file Uploaded'; break;
      }
      exit;
      }
      
      // Le fichier possède-t-il la bonne extension
      $array_fichier=explode(".",$_FILES['userfile']['name'];
      
      if ($array_fichier[1] != 'txt')
      {
      echo "Problem: le fichier n'est pas un .txt";
      exit;
      }
      
      // Placer le fichier à l'emplacement désiré
      $upfile = '/uploads/' .$_FILES['userfile']['name'] ;
      
      if (is_uploaded_file($_FILES['userfile']['tmp_name']))
      {
      if (!move_uploaded_file($_FILE['userfile']['tmp_name'], $uofile))
      {
      echo 'problem: Could not move file to destination directory';
      exit;
      }
      }
      else
      {
      echo 'File uploaded Successfully<br /><br />';
      // Reformater le contenue du fichier
      $fp = fopen($upfile, 'r');
      $contents = fread ($fp, filesize ($upfile));
      fclose($fp);
      
      $contents = strip_tages($contents);
      $fp = fopen($upfile, 'w');
      fwrite($fp, $contents);
      fclose($fp);
      
      // Afficher ce qui a été transférer avec une variable :
      echo 'Aperçu du fichier télécharger :<br><hr>';
      echo $contents;
      echo '<br><hr>';
      } //il manquait celle la 
      ?>
      </body>
      </html>
  3. Si je peut me permettre réupé le topic ^^
    il manque une parenthèse à la fin de cette ligne

    // Le fichier possède-t-il la bonne extension
    $array_fichier=explode(".",$_FILES['userfile']['name']);

    J'avais juste besoin de l'idée mais ca pourrait en aider certains ;)
    merci j'avais pas pensé au explode (pourtant si basique ^^ ) :)