Version complète: sur le forum Webmaster Hub : upload une image
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Topaze
je viens d'envoyer une photo dans ma base. Dans celle-ci seul le chemin est in diqué dans le champ photo. je veux maintenant upload la photo et l'afficher sur une page. J'ai ce message d'erreur que j'arrive pas à régler :Parse error: parse error in c:\easyphp1-8\www\web\upload.php

Pouvez vous m'aider,voici le script :

CODE
<?php
 $idConnexion = mysql_connect("localhost", "root","");
    $connexionReussie = mysql_select_db("mabase");
   $photo = isset($_POST["photo"])  
    // définition de l'espace destiné à recevoir les fichiers
  $repository="c:\easyphp1-8\www\web";

   // si un fichier maphoto a bien été transféré
   if (is_uploaded_file($_FILES["photo"]["tmp_name"])) {
       // recupération de l'extension du fichier
       // autrement dit tout ce qu'il y a après le dernier point (inclus)
       $photo = $_FILES["photo"]["name"];
       $extension = substr($photo, strrpos($photo, "."));
       // Contrôle de l'extension du fichier
       if (eregi("^ph", $extension)) {
           die("Les fichiers en .ph* ne sont pas autorisés.");
       }
       $cheminphoto = $login . "_photo" . $extension;
       rename($_FILES["photo"]["tmp_name"], $repository.$cheminphoto);
   }
 // Et pour mettre fin à la connexion
  mysql_close();
?>


Merci d'avance
sarc
Salut wink.gif
Le parse error témoigne d'une erreur de syntaxe...

A la ligne 3 :
CODE
$photo = isset($_POST["photo"]);  


Il manquait le point virgule wink.gif
erwinol
Une question juste comme ça : pourquoi ne pas tester le type mime au lieu de l'extension ?
Topaze
merci pour la réponse. Je vais corriger pour voir ce que cela donne. Par ailleurs comment tester le type MIME
Country
CITATION
Par ailleurs comment tester le type MIME

Grâce à $_FILES['photo']['type']

CODE
$allow=array('image/x-png','image/gif','image/pjpeg','image/jpeg','image/png');
if(!in_array($_FILES['photo']['type'],$allow)) die("Type de fichier non autorisé.");
Topaze
STP je place le code dans le script upload.php ou créer un nouveau script

Si c'est dans le upload.php voici le message d'erreur que j'ai
Notice: Undefined index: photo in c:\easyphp1-8\www\web\upload.php
Type de fichier non autorisé.


à la ligne : if(!in_array($_FILES['photo']['type'],$allow)) die("Type de fichier non autorisé.");


A+
Country
Vérifie que le champ file renvoyé par ton formulaire a bien "photo" comme nom.
Topaze
Vérification faite. dans ma base de donnée mon champ s'appelle bien photo. J'ai essayer quelque chose et cela marche mais pas comme je veux. Voici ce que j'ai pu faire J'ai isolé le bout de code qui permet l'envoie des photo en un autre fichier uplod.html

CODE
html>
   <body>
       <form enctype="multipart/form-data" action="upload.php" method="post">
           <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
           Transfère le fichier <input type="file" name="photo" />
           <input type="submit" />
       </form>
   </body>
</html>

Mon problème maintenant comment fusionner ce script avec mon formulaire d'inscription qui a déjà cette partie <form action="insert.php" method="post">
qui me permet d'insérer les données dans ma base
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.