Topaze Posté 24 Juillet 2005 Posté 24 Juillet 2005 (modifié) 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 : <?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 Modifié 24 Juillet 2005 par Topaze
Sarc Posté 24 Juillet 2005 Posté 24 Juillet 2005 Salut Le parse error témoigne d'une erreur de syntaxe... A la ligne 3 : $photo = isset($_POST["photo"]); Il manquait le point virgule
erwinol Posté 24 Juillet 2005 Posté 24 Juillet 2005 Une question juste comme ça : pourquoi ne pas tester le type mime au lieu de l'extension ?
Topaze Posté 24 Juillet 2005 Auteur Posté 24 Juillet 2005 merci pour la réponse. Je vais corriger pour voir ce que cela donne. Par ailleurs comment tester le type MIME
Country Posté 24 Juillet 2005 Posté 24 Juillet 2005 Par ailleurs comment tester le type MIME Grâce à $_FILES['photo']['type'] $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 Posté 24 Juillet 2005 Auteur Posté 24 Juillet 2005 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 Posté 24 Juillet 2005 Posté 24 Juillet 2005 Vérifie que le champ file renvoyé par ton formulaire a bien "photo" comme nom.
Topaze Posté 24 Juillet 2005 Auteur Posté 24 Juillet 2005 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 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant