Problème avec upload de photos

01cod10 Messages postés 110 Date d'inscription mardi 30 août 2005 Statut Membre Dernière intervention 13 août 2007 - 25 avril 2006 à 19:15
01cod10 Messages postés 110 Date d'inscription mardi 30 août 2005 Statut Membre Dernière intervention 13 août 2007 - 3 mai 2006 à 16:20
Problème avec upload de photos. J'ai ses messages d'erreur. Je n'arrive pas à résoudre cela. J'ai mis en rouge les lignes. au fait ce que je voulais faire c'est de permettre l'ajout de photo dans une fiche.

Notice: Undefined index: photo in c:\easyphp1-8\www\......on line 27

Notice: Undefined variable: cheminPhoto in c:\easyphp1-8\www\..... on line 41

<html>




<?php


$login = isset($_POST["login"]) ? $_POST["login"] : "";


$photo = isset($_POST["photo"]) ? $_POST["photo"] : "";


// Param
ètres de connexion à la base de données


$BD_serveur = "localhost";


$BD_utilisateur = "root";


$BD_motDePasse = "";


$BD_base = "base";


@mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse)


or die("Impossible de se connecter au serveur de bases de données.");


@mysql_select_db($BD_base)


or die("Impossible de se connecter à la base de données.");


$requete = "SELECT * FROM Table ".


" WHERE login='".$login."'";




$result = mysql_query($requete);


// définition de l'espace destiné à recevoir les fichiers


$repository="data/";


// 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)


$nomPhoto = $_FILES["photo"]["name"];


$extension = substr($nomPhoto, strrpos($nomPhoto, "."));


// 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);


}




mysql_query("INSERT INTO Table (photo) VALUES ('" . addslashes($cheminPhoto) . "')");


?>




</html>

8 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
25 avril 2006 à 19:18
Salut,

if(isset($_FILES["photo"]["tmp_name"]))

avant toute chose... erreur qui revient chaque semaine également...
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
01cod10 Messages postés 110 Date d'inscription mardi 30 août 2005 Statut Membre Dernière intervention 13 août 2007
25 avril 2006 à 19:34
Après correction j'ai ce message :Notice: Undefined variable: cheminPhoto in c:\easyphp1-8\www\.... on line 40

mysql_query("INSERT INTO Table (photo) VALUES ('" . addslashes($cheminPhoto) . "')");
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
25 avril 2006 à 19:39
ta variable $cheminPhoto n'existe pas...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
01cod10 Messages postés 110 Date d'inscription mardi 30 août 2005 Statut Membre Dernière intervention 13 août 2007
27 avril 2006 à 14:32
J'ai changé mon raisonnement. Je propose dans le formulaire aux membres d'envoyer leur photo. Voici le fichier upload que j'utilise. Quand je suis votre instruction ,l'upload marche mais la photo du deuxième membre vient écraser celle du premier. De plus elle n'est pas visible.

<?php

$photo = isset($_POST["photo"]) ? $_POST["photo"] : "";

$repertoireDestination = "data/";

$nomDestination =isset( $_FILES["photo"]["name"]);

// Pour raison de s

écurité nous ajouterons aux fichiers // portant une extension .php .php3, l'extension .txt

if (eregi(".php", $nomDestination)) {

$nomDestination .= ".txt";

}

if (isset($_FILES["photo"]["tmp_name"])) {

if (move_uploaded_file($_FILES["photo"]["tmp_name"],

$repertoireDestination.$nomDestination)) {

echo "Le fichier temporaire ".$_FILES["photo"]["tmp_name"].

" a été déplacé vers ".$repertoireDestination.$nomDestination;

$photo=$repertoireDestination.$nomDestination;

$name_file =$_FILES["photo"]["name"];

} else {

echo "Le déplacement du fichier temporaire a échoué".

" vérifiez l'existence du répertoire ".$repertoireDestination;

}

} else {

echo "Le fichier n'a pas été uploadé (trop gros ?)";

}

?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
01cod10 Messages postés 110 Date d'inscription mardi 30 août 2005 Statut Membre Dernière intervention 13 août 2007
28 avril 2006 à 19:11
Salut à tous,

Avec ce script j'arrive à uploader. il reste deux choses que je n'arrive pas à faire. 1èrement j'aimerai précéder le nom de la photo du pseudo du membre. 2èmement sécurisé l'upload. J'ai besoin de vous merci d'avance.

<?php

if( isset($_POST
['

inscription']) ){$content_dir = 'data/';

$tmp_file = $_FILES['photo']['tmp_name'];

if( !is_uploaded_file($tmp_file) )

{

exit("Le fichier est introuvable");

}

$name_file = $_FILES['photo']['name'];

if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )

{

exit("Impossible de copier le fichier dans $content_dir");

}

echo "Le fichier a bien été uploadé";

}

?>
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
28 avril 2006 à 19:16
Salut,

Upload sécurisé PHP

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
01cod10 Messages postés 110 Date d'inscription mardi 30 août 2005 Statut Membre Dernière intervention 13 août 2007
28 avril 2006 à 20:42
Merci pour le lien. Je bloque toujours pour le nom de la photo car j'aimerai le précéder du login
0
01cod10 Messages postés 110 Date d'inscription mardi 30 août 2005 Statut Membre Dernière intervention 13 août 2007
3 mai 2006 à 16:20
Je vois que tout le monde m'a abandonné
0
Rejoignez-nous