[PHP] des images qui ne s'ajoutent pas

Bonjour,

J’ai bientôt finis mon projet Yannick Clément mais j’ai encore un soucis dans l’interface d’administration.
En effet lorsque je souhaite ajouter/modifier un produit il est possible de sélectionner une image (via un formulaire), celle-ci doit se télécharger dans le dossier indiqué :

[code]
if(!isset($_FILES[‘photo’])) $photo[‘photo’]=""; else $photo[‘photo’]=$_FILES[‘photo’];

$updateArticles="UPDATE produit SET libelleProduit='$nomproduit', prixEuro='$prix', statut='$StatutID', stock='$stock', CodeSport='$sport', CodeMarque='$marque' ";

if ($photo['photo']['size']!=0) 
{
$photo_name=$_FILES['photo']['name']; 
$updateArticles .= ", imagePetit='$photo_name'";
}
$updateArticles .= "WHERE refProduit='$reference' ";

mysql_query($updateArticles, $groupe4) or die(mysql_error()); 

//----Gestion de la photo de l’article si elle a était modifiée
if ($photo[‘photo’][‘size’]!=0)
{
$repertoire="…/bereal/yannick/images/produits/";
move_uploaded_file($photo[‘photo’][‘tmp_name’],$repertoire.$photo[‘photo’][‘name’]);
}[/code]

Cela fonctionne très bien en local (avec easyphp) mais une fois la page basculée sur Free, patatrac cela ne prend pas en compte l’image. Je penche pour un problème de dossier mal formulé : “…/login/yannick/images/produits/”. Il y a des éléments particuliers à indiquer pour la version hébergée ?

Merci beaucoup.

LeRige, le noob à mort.

fait une page avec un <? phpinfo(); ?> à la racine de ton site, ca te donnera le chemin de ton dossier sur le serveur. De là, tu pourra mettre les bonnes valeurs :stuck_out_tongue:

ou alors en utilisant $_SERVER[‘DOCUMENT_ROOT’], comme ça à prioris ça reste portable en cas de changement d’hebergeur.

humm je suis perplexe : même en mettant le chemin complet, cela refuse de fonctionner.

Il semble que l’on ne puisse pas modifier le CHMOD des dossiers (je viens d’assayer avec SmartFtp : "command unrecognized). De ce que j’ai lu sur différents forums, il n’est pas possible d’utiliser “move-uploaded_file” sur Free.

Je suis dans le vrai, ou j’ai encore raté quelque chose ?

Merci merci.

Edit : Je confirme, normalement tu peux utiliser la fonction copy() (pour peu que celle ci soit autorisée).

[code]// on dit que le fichier s’appelle fichier … sans dec
$ext = $_FILES[‘fichier’][‘type’];
$ftmp = $_FILES[‘fichier’][‘tmp_name’];
$fname = $_FILES[‘fichier’][‘name’];

if(copy($ftmp, ‘gallerie/’.$fname))
echo ‘copié avec succè’;[/code]

à verifier : pour le copy, je sais pas s’il faut pas concatener $ext à $fname des fois que …

[quote=“LeRige, post:5, topic: 28424”]Il semble que l’on ne puisse pas modifier le CHMOD des dossiers (je viens d’assayer avec SmartFtp : "command unrecognized). De ce que j’ai lu sur différents forums, il n’est pas possible d’utiliser “move-uploaded_file” sur Free.

Je suis dans le vrai, ou j’ai encore raté quelque chose ?[/quote]
Pour ton problème de fichier je ne vois pas.
Par contre le move_uploaded_file() marche parfaitement chez Free.
Je m’en sert régulièrement pour mettre des photos sur mes sites.