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

Résolu/Fermé
Signaler
Messages postés
33
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 juin 2008
-
Messages postés
33
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 juin 2008
-
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

2 réponses


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
Messages postés
33
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 juin 2008

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
Messages postés
33
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 juin 2008

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
>
Messages postés
33
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 juin 2008

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
Messages postés
33
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 juin 2008

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