upload via PHP - telechargement impossible via FTP

upload via PHP - telechargement impossible via FTP - PHP - Programmation

Marsh Posté le 04-05-2007 à 13:46:16    

Ola,
 
J'ai un site heberge chez c-dedie.com.
 
Devant l'evolution de la qualite de leur service (service client qui fait le mort...), je me susi ecide a bouger le tout chez un nouvel hebergeur
 
Mon site, qui est un pettie communaute, permet a ses membres d'uploader un avatar et autre album photo.
 
les images sont stockees dans un dossier /gfx/users/[premiere lettre login]/[seconde lettre login]/[login]/
 
tous ces dossiers sont en chmod 777.
 
Lorsque le membre s'inscrit, je fais cela :
 

Code :
  1. $path = "gfx/users/".$username[0]."/".$username[1]."/".$username;
  2. mkdir($path, 0777);
  3. chmod($path."/", 0777);


 
donc si le login est machin, je vais dans gfx/users/m/a/ et j'y cree un path machin que je chmod en 777
 
 
Ensuite, quand l'utilisateur uploade ses photos, je les stocke naturellement dans son dossier propre (ex : gfx/users/m/a/machin/avatar.jpg )
 
 
Le probleme, c'est qu'en essayant de recuperer l'integralite de gfx/users/ par ftp, bah impossible de prendre le contenu uploade.
 
Permission denied me dit filezilla.
 
Quand j'ai regarde les fichiers uploades, la commande chmod 777 a te ignoree lors de l'upload du fichier :|
J'ai donc essaye de chmode tous les fichiers uploades en 777 via ftp => 550 avatar.jpg: Operation not permitted
 
 
 
En gros, le fichier avatar.jpg ne peut etre telecharge, pas cool vu que je dois totu rapatrie.
 
On m'a parle de probleme d'utilisateur/group, de commande chown, mais je dois avouer etre un peu perdu.
Sans compter que le support cdedie ne me repondra jamais, alors...
 
Quelques pistes a me conseiller ?


Message édité par nintendose le 04-05-2007 à 13:48:19
Reply

Marsh Posté le 04-05-2007 à 13:46:16   

Reply

Marsh Posté le 04-05-2007 à 13:49:06    

Certainement deux utilisateurs différent pour php et le ftp.
Essais de chmodder les fichiers avec php :
http://fr.php.net/chmod
Les fichiers et pas seulement les répertoires.


Message édité par dwogsi le 04-05-2007 à 13:49:40

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 04-05-2007 à 14:10:35    

je viens de faire une moulinette qui prend tous les dossiers et fichiers et qui chmode les fichiers, repertoire par repertoire...
 
 

Code :
  1. <?
  2. $letters = "0123456789abcdefghijklmnopqrstuvwxyz";
  3. for($i=0;$i!=36;$i++)
  4. {
  5. for($j=0;$j!=strlen($letters);$j++)
  6. {
  7.  $rep = "../gfx/users/".$letters[$i]."/".$letters[$j]."/";
  8.  $dir = opendir($rep);
  9.  while ($f = readdir($dir))
  10.  {
  11.   if($f!='.' && $f!='..')
  12.   {
  13.    echo $rep2 = $rep.$f."/";
  14.    echo " -> OK<br>";
  15.    $dir2 = opendir($rep2) or die('fuck');
  16.    while ($f2 = readdir($dir2))
  17.    {
  18.     if($f2!='.' && $f2!='..')
  19.     {
  20.      echo "fichier : ".$f2."<br>";
  21.      chmod($rep2,0777) or die('le fichier ne peut etre chmode');
  22.     }
  23.    }
  24.   }
  25.  }
  26. }
  27. }
  28. ?>


 
Rien n'y fait, le chmod n'est pas pris en compte :/
Pourtant, je n'ai aucun message d'erreur lors du chmod de chaque fichier...
 
 

Reply

Marsh Posté le 04-05-2007 à 15:03:37    

Fias voir le script d'upload?
Je me souviens avoir eut le même problème mais je sais plus comment je m'en suis sorti ni d'où ça venait. Je crois bien que j'avais demandé à mon hébergeur de régler tout ça. Mais dans ton cas ça semble difficile.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 05-05-2007 à 09:01:59    

apparemment tous les fichiers uploades etaient en utilisateur apache:apache. Ce qui me rendait impossible leur telechargement via ftp ou le changement de leur droit, leur suppression
 
Il suffisait de faire un chown directement via SSH, impossible a faire en PHP, la commande chown semblant ignoree/absente.
 
chown -R [new user]:[new group] /users/ a bien change le proprietaire de tous les fichiers de tous les sous dossiers contenus dans /users/, je peux les dl maintenant et ainsi change d'hebergeur en eant sur d'avoir recupere tout le contenu
 
Esperons que ce topic pourra aider le personnes (apparemment nombreuses au vu des resultats google sur le sujet) qui sont confrontees au meme pb :)
 
 
 
 

Reply

Marsh Posté le 05-05-2007 à 14:41:01    

A ba fallait préciser que tu avais un accès SSH, ça aurait aidé!


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed