prob, type de fichier upload

amir
Invité n'ayant pas de compte PHPfrance

26 août 2006, 15:22

bonjour,
dans le tuto php france , j'ai piquer le 30.php permettre à mes amis d'uploader des fichier sur mon blog,
pour ceux qui se souviennent pas, il ressemble à ca :
<?php

if(isset($_FILES['photo']))
{
  // params
  unset($erreur);
  $extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
 $taille_max = 40000000;
  $dest_dossier = 'autres/recus/';
  // vérifications
  if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
  {
    $erreur = 'Je ne prends que les fichiers de type image, video, audio ou zippé !';  
}
  elseif( file_exists($_FILES['photo']['tmp_name']) 
          and filesize($_FILES['photo']['tmp_name']) > $taille_max)
  {
    $erreur = 'Ton fichier doit faire moins de 40Mo !';
  }
  // copie du fichier
  if(!isset($erreur))
  {
    $dest_fichier = basename($_FILES['photo']['name']);
    // formatage nom fichier
    // enlever les accents
    $dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    // remplacer les caracteres autres que lettres, chiffres et point par _
    $dest_fichier = preg_replace('/([^.a-z0-1]+)/i', '_', $dest_fichier);
    // copie du fichier
    move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
  }
}

?>
<html>
<body>
<!-- Erreur ? -->
<?php 
if(isset($erreur)){
  echo '<p>', $erreur ,'</p>';
}
?>
<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le  enctype="multipart/form-data" -->
<form method="POST" action="30.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="40000000" /> 
<fieldset>
<legend>Envoi de fichiers</legend>
<!-- champs d'envoi de fichier, de type file -->
<p><label for="photo">Photo :</label><input type="file" name="photo" /></p>
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
</body>
</html>
comme ca, ca marche très bien,
sauf que mon blog est un blog photos video et son,
j'ai donc voulu modifier la line 7 en :
  $extensions_ok = array('png', 'gif', 'jpg', 'bmp', 'jpeg', 'wmp', 'wma', 'WMA', 'WMP, 'wav', 'WAV', 'wmv', 'WMV', 'mov', 'MOV', 'GIF', 'BMP', 'PNG', 'JPG', 'JPEG', 'avi', 'mp3', 'MP3', 'AVI', 'MPG', 'mpg');
il affiche alors, lorque je veu uploader un fichier

Parse error: syntax error, unexpected T_STRING, expecting ')' in /mnt/115/sdc/9/5/laboieldieuteam/30.php on line 7


??.........???????quel est l'erreur?

ViPHP
ViPHP | 2144 Messages

26 août 2006, 15:25

Salut,

Il te manque une simple quote ' après apres WMP. La coloration synthaxique montre bien à partir d'où ilk y a une erreur.