Ftp + script php

  • Auteur de la discussion Auteur de la discussion DroP
  • Date de début Date de début
  • Tags Tags
    ftp
voila j ai un script php qui creer un repertoire :
mkdir("ressources/articles/28/", 0777);
le repertoire se crée bien ms si je me connect avec un logiciel ftp ou ftp de mon site , je ne peut rien uploder dans se repertoire , ni le supprimer , ni faire koi que ce soit avec.

On m'a di que c est car le dossier se creer avec l'user : nobody dans le group: nobody or moi mon user est : drop (par exemple) group: drop

je voudrai savoir si il y avais une solution pour que mon script fonctionne et donc que le repertoire se mettre direct accessible pour mon user et mon groupe

merci de vos reponse

DroP
 
Tu n'utilises pas les bon droit pour le dossier essai avec : mkdir("ressources/articles/28/", 0755);
 
Le 0777 est optionnel , c'est le CHMOD par défaut avec cette fonction .
Ton hébergeur utilise-t-il un espace web en safe mode ?
 
qu est ce ke tu apelle un espace en safe mode ???

mon hebergeur est hosteur.com

il m avait di de faire un chown(); sur les dossiers ms pour executer cette commande il faut avoir les droits "root" or je ne px les avoirs
 
Voila ce que c'est un espace en safe mode: http://fr.php.net/features.safe-mode
Tous les hebergeurs sont en safe-mode, ce qui n'empeche pas de cree des dossiers avec mkdir et de les modifier par FTP, t'as quoi comme client FTP?
Si c'etait un pobleme de safe_mode je pense qu'il y aurait un warning du moins quand tu tente par http d'acceder a ce dossier, ca donne quoi qd tu fais ca?

@+
David
 
mon logiciel ftp c est Flashfxp

et y a pas de warning ou koi que ce soit lorsque je creer mon dossier et qu appelle tu accede a ce dossier par html ?
 
ah oui flashfxp je l'avais mais il m'as enerve alors je l'ai virer(et puis c'est un shareware j'avais ni envie de l'acheter ni de le cracker), je te conseillerais plutot l'excellent FilleZilla gratuit et dispo pour les OS Windows.
Mais revenons au warning, il faudrait que tu essai de creer un dossier avec mkdir comme tu le faisais precedemment et d'y placer un fichier(n'importe qoui on s'en fous, une image, un .txt, un .html tres simple) toujours avec le meme script php. Une fois que c'est fait tu essai d'acceder par HTTP (donc avec ton navigateur habituel)(et non pas comme tu l'as dit par html) a ce fichier. le chemin devrait etre -http://www.tonsite.com/ton_pathh_cree_par_php/ton_fichier.html et si l'as tu as un warning recopie le nous, cela voudra dire qu'il y a effectivement un pb de droits. Mais moi je pencherais plutot pour flashfxp qui deconne.

@+
David
 
alors du nouveau

now qd je fé :
$id_article = "1";
mkdir("ressources/articles/Animes/$id_article", 0775);

ca marche ca creer bien le repertoire et je px faire ce ke je vx avec ! suprimer up ect

et si derrier ca je fé :

mkdir("ressources/articles/Animes/$id_article/galerie", 0775);
le dossier galerie ne m est plus accecible !!! impossible de le del ou de duploader dedans !
 
et ce n est pas flash fxp car j ai essayé avec le ftp du dos
ftp open .....
et ca fé la mmm chose : permission denied
 
ah ok c'est a cause de la variable qu'il rame essai:
mkdir('ressources/articles/Animes/'.$id_article.'/galerie', 0755);
en respectant bien mes guillemets simples et les .
 
non ce n est pas ca non plus
il me creer bien le repertoire donc il comprend bien la varriable ms tjs ce permission denied !

550 Can't remove directory: Permission denied
 
avec ton client ftp, p.e flashfxp tu les voit ecrit en toutes lettres les permisions des dossiers je pense. Qu'il y a t-il d'ecrit pour ton dossier 'galerie' ? drwx---r-x ou bien drwxr-xr-x? ou encore autre chose?
 
galerie : drwxr-xr-x owner:99 group:99

alors que si je cré moi mm mon dossier par mon logiciel ftp c :
drwxr-xr-x owner:drop group:drop
 
ok alors drwxr-xr-x ca veut dire que c'est bien les droits 0755, mais le pb c'est que php est sous le owner/group:99, c'est pas bon ca (engueule ton hebergeur). Qui n'est donc pas le meme que le client ftp (group:drop). Essai de forcer PHP a changer de groupe avec chgrp() (voir http://se2.php.net/manual/fr/function.chgrp.php) mais je suis pas sur que cela va marcher
 
ca ne px pas marché car ta fonction :
Seul le super-utilisateur (root) peut changer le groupe propriétaire d'un fichier arbitrairement

et je ne suis pas le root !!

ms ce ki m etonne le + c est ke ca marche si j en cré que 1 , ms que les sous rep apres ca ne marche plus , ca me depasse
 
oui mais si le root fait partis de ton group c'est bon, c'est pour ca que tu devrais tenter, sinon oui c'est bizarre que ca marche avec un dossier mais pas avec un sous-dossier, strange...
 
J'ai le meme problème...

//Création du dossier avec l'id de la maison
mkdir("images/maisons/$id", 0777);

Création du dossier ok, mais il est en nobody... au lieu d'avoir le nom normal de mon utilisateur, résultat, impossible de modifier les fichiers à l'intérieur!

Une idée ?
 
bon

les créations de répertoire et les chmod en marchent jamais en PHP (enfin correctement) surtout si le safe mode est activé...il y a des ruses mais cela reste des ruses

il faut que le fichier qui fait le mkdir ou chmod ait été crée par PHP et non uploadé...et encore ça peux merder...donc a fuir
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut