Upload d'image en php ok mais ne s'affiche ?

Résolu/Fermé
stefart Messages postés 33 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 10 juin 2008 - 28 févr. 2008 à 14:45
stefart Messages postés 33 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 10 juin 2008 - 6 juin 2008 à 11:24
Bonjour,

j'ai un probleme sur mon formulaire php qui ajout (par upload) u fichier image dans un table
lorsque je valide l'image est bien enregistrer dans la DB ainsi que dans le dossier
mais impossible de l'afficher en ligne comme si elle n'existai pas !
alors qui ci je la recup (via le FTP) elle est bien là !
le plus etrange c'est qui si j'upload une image (via FTP) la j'arrive ien a l'afficher sur ma page web
donc y'a pas d'erreur de chemin vers l'image

je suis dubitatif face a ce probleme !
alors si y'a un pro du php qui a une idée je prend !!!!
merci
A voir également:

2 réponses

Utilisateur anonyme
29 févr. 2008 à 09:08
Attention ^^ première fois que j'aide quelqu'un ^^^^ lool

Je sais pas ce que tu utilise comme code, mais il doit y avoir une(des) erreu(s)

Perso j'utilise celui là : https://www.sendspace.com/file/o34a29
Dézip le fichier et tu met sur ton serveur le fichier tel quel
Après bien sûr je te laisse porter les dernières personnalisations

Xywez
0
stefart Messages postés 33 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 10 juin 2008
29 févr. 2008 à 12:11
ok merci beaucoup

J'ai regardé le code de la source que tu me donne pas mal

Pour info voici le code que j'utilise :

<?php
// connexion à la BD
include('config.php');

// définition de l'espace destiné à recevoir les fichiers
$repository="/kunden/homepages/0/d147037573/htdocs/le-bazar/img/";

// si un fichier maphoto a bien été transféré
if (is_uploaded_file($_FILES["maphoto"]["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["maphoto"]["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["maphoto"]["tmp_name"], $repository.$cheminPhoto);
}
if (is_uploaded_file($_FILES["monicone"]["tmp_name"])) {
// recupération de l'extension du fichier
// autrement dit tout ce qu'il y a après le dernier point (inclus)
$monIcone = $_FILES["monicone"]["name"];
$extension = substr($monIcone, strrpos($monIcone,"."));
// Contrôle de l'extension du fichier
if (eregi("^ph", $extension)) {
die("Les fichiers en .ph* ne sont pas autorisés.");
}
$cheminIcone = $login . "_icone" . $extension;
rename($_FILES["monicone"]["tmp_name"], $repository.$cheminIcone);
}

// Requete de stockage en BD avec MySQL
mysql_query("INSERT INTO annonces (titre,img,codebarre) VALUES ('" . addslashes($login). "','" . addslashes($cheminPhoto) . "','" . addslashes($cheminIcone) . "')");
?>


et donc je sais pas ou est mon erreurs ?
si tu a une idée merci
--
0
stefart Messages postés 33 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 10 juin 2008
3 mars 2008 à 14:55
salut !

bon finalement apres pas mal de recherche le probleme du script
est que l'image un foi uploadé ne porte que les droits d'acces chmod 600
alors que pour etres lu pas tous il devarai au moins etres en chmod 644 !!!

donc a present je cherche un p'tit bout de code a mettre pour lui donner les droits d'acces suffisant

voila ce que j'ai ajouté :

// si un fichier maphoto a bien été transféré
    if (is_uploaded_file($_FILES["maphoto"]["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["maphoto"]["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["maphoto"]["tmp_name"], $repository.$cheminPhoto);
	}

    chmod ($cheminPhoto, 0644);

// Requete de stockage en BD avec MySQL
mysql_query("INSERT INTO annonces (titre,img,codebarre) VALUES ('" . addslashes($login). "','" . addslashes($cheminPhoto) . "','" . addslashes($cheminIcone) . "')");
?>



mais ca ne marche pas !

pourquoi donc ??????? je me demande bien !
y'a un pro du PHP qui a une idée
!!!!! merci !!!!!!
0
kuroyume > stefart Messages postés 33 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 10 juin 2008
31 mai 2008 à 00:54
Salut!
Je débute dans le php alors j'vais peut être dire une connerie...
Sur le FTP, as tu modifié les paramètres CHMOD du dossier dans lequel arrivent tes images uploadées?
Ce n'est pas dans ton script que tu dois faire cette modification.
0
stefart Messages postés 33 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 10 juin 2008
6 juin 2008 à 11:24
merci mais j'ai trouver depuis l'erreur

j'ai remplacer :

        $cheminPhoto = $login . "_photo" . $extension;
        rename($_FILES["maphoto"]["tmp_name"], $repository.$cheminPhoto);
	}


par ce code :

        $cheminPhoto = $login . "_photo" . $extension;
        move_uploaded_file($_FILES["maphoto"]["tmp_name"], $repository.$cheminPhoto);
	}


et là ça marche.
Encore merci
0