Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2503 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [résolu]pb de droit sur fichier upload via script [merci!]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu]pb de droit sur fichier upload via script [merci!]

n°955673
melangeur
moi, j'dis ça, mais j'dis rien
Posté le 18-01-2005 à 17:09:41  profilanswer
 

Nouveau petit problème.
 
J'upload un fichier via un forumlaire.  
Hors, je viens de m'apercevoir que celui-ci prend un chmod 600 au lieu de 644.
 
Comment je dois modifier mon script pour faire en sorte d'obtenir le bon chmod ??
 

Code :
  1. //définition du repertoire d'upload
  2. $uploaddir='../imguser/';
  3. $repuser='../imguser/';
  4. $repbdd='/imguser/';
  5. //verification du type de fichier, utilise une classe externe
  6. $get_mime = new mime_magic();
  7. $mime = $get_mime->analyze_file($_FILES['fichier']['tmp_name']);
  8. switch($mime){
  9. case "image/jpeg":
  10.  $extension = ".jpg";
  11.  break;
  12. case "image/gif":
  13.  $extension = ".gif";
  14.  break;
  15. default:
  16.  $extension = "";
  17. }
  18. //définis le nom du fichier une fois uploader sur le serveur
  19. $fichier=$session.$name.$extension;
  20. //défintion des variables pour le renvoi d'informations une fois le script éxécuté
  21. $taille = $_FILES['fichier']['size'];
  22. $tmp= $_FILES['fichier']['tmp_name'];
  23. $type= $_FILES['fichier']['type'];
  24. $erreur= $_FILES['fichier']['error'];
  25. //Affichage du résultat du script
  26. echo '<pre>';
  27. if (move_uploaded_file($tmp, $uploaddir . $fichier)) {
  28.     echo "Le fichier est valide, et a été téléchargé avec succès.";
  29. } else {
  30.     echo "Attaque par upload potentielle.";
  31. }
  32. echo '</pre>';
  33. echo  "Taille => $taille <br />";
  34. echo  "Type de fichier => $type <br />";
  35. echo  "Code erreur => $erreur. <br />";
  36. echo  "Nouveau nom => $fichier<br />";
  37. if ($err = $_FILES['fichier']['error']) {
  38.       echo "il y a eu une erreur <br>" ;
  39.   if ($err == UPLOAD_ERR_INI_SIZE)
  40.     echo "Le fichier est plus gros que le max autorisé par PHP";
  41.   elseif ($err == UPLOAD_ERR_FORM_SIZE)
  42.     echo "Le fichier est plus gros qu'indiqué dans le formulaire";
  43.   elseif ($err == UPLOAD_ERR_PARTIAL)
  44.     echo "Le fichier n'a été que partiellement téléchargé";
  45.   elseif ($err == UPLOAD_ERR_NO_FILE)
  46.     echo "Aucun fichier n'a été téléchargé.";
  47. } else echo "fichier correctement téléchargé <br><br>" ;


 
Merci de votre aide.


Message édité par melangeur le 19-01-2005 à 11:42:06
mood
Publicité
Posté le 18-01-2005 à 17:09:41  profilanswer
 

n°955718
sonikbuzz
echo &#034;Hello World!&#034;;
Posté le 18-01-2005 à 17:54:38  profilanswer
 

Un truc comme ca par exemple :

Code :
  1. chmod("$textfilename",777);

n°955732
melangeur
moi, j'dis ça, mais j'dis rien
Posté le 18-01-2005 à 18:02:09  profilanswer
 

sonikbuzz a écrit :

Un truc comme ca par exemple :

Code :
  1. chmod("$textfilename",777);



 
bhé j'va tester ca de suite alors ! merci.

n°955738
melangeur
moi, j'dis ça, mais j'dis rien
Posté le 18-01-2005 à 18:15:57  profilanswer
 

bon,bein ca colle pas.... ca me plante le script.

n°955749
sonikbuzz
echo &#034;Hello World!&#034;;
Posté le 18-01-2005 à 18:22:08  profilanswer
 

melangeur a écrit :

bon,bein ca colle pas.... ca me plante le script.


Ca plante ? erreur ?
 
$textfilename c'est le chemin d'accés + le nom du fichier.

n°955757
melangeur
moi, j'dis ça, mais j'dis rien
Posté le 18-01-2005 à 18:34:07  profilanswer
 

ouaip, on est bien d'accord...mais il refuse de me changer le chmod...  
 
pour info je suis en chmod 600 après upload des fichiers.  
je vais retenter, j'ma peut être gourré.

n°955770
melangeur
moi, j'dis ça, mais j'dis rien
Posté le 18-01-2005 à 18:50:42  profilanswer
 

voila la ligne que j'insère dans mon script  
chmod ("../imguser/$fichier", 644)
et ça plantouille méchament :(

n°955831
sonikbuzz
echo &#034;Hello World!&#034;;
Posté le 18-01-2005 à 20:41:05  profilanswer
 

Ton script tu le fais tourner sur une machine en local ou chez un hébergeur ?
Ya une message d'erreur ?


Message édité par sonikbuzz le 18-01-2005 à 20:42:26
n°955833
esox_ch
Posté le 18-01-2005 à 20:42:39  profilanswer
 

Essaie de voir si chmod() est autorisé (phpinfo()) et apres regarde qui est le proprietaire de ton ficher.. on c jamais


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°955836
melangeur
moi, j'dis ça, mais j'dis rien
Posté le 18-01-2005 à 20:45:48  profilanswer
 

bein la, en l'occurence, le proprio, c'est moi même...
Pour chmod, j'vais verifié.

mood
Publicité
Posté le 18-01-2005 à 20:45:48  profilanswer
 

n°955839
melangeur
moi, j'dis ça, mais j'dis rien
Posté le 18-01-2005 à 20:47:30  profilanswer
 

bon, bein chmod est desactivé sous php.... po glop.

n°955851
esox_ch
Posté le 18-01-2005 à 20:57:43  profilanswer
 

probleme resolu j'ai bien peur ..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°955936
melangeur
moi, j'dis ça, mais j'dis rien
Posté le 18-01-2005 à 22:58:16  profilanswer
 

ouaip, moi aussi... po cool.

n°955942
KangOl
Profil : pointeur
Posté le 18-01-2005 à 23:08:12  profilanswer
 

melangeur a écrit :

bein la, en l'occurence, le proprio, c'est moi même...
Pour chmod, j'vais verifié.


bha alors faut modifier ca dans le php.ini :o


---------------
Nos estans firs di nosse pitite patreye...
n°955943
esox_ch
Posté le 18-01-2005 à 23:09:07  profilanswer
 

controle voir s'ils t'on exclu les fonctions ftp, parceque tu pourrais p-e contourner avec ftp_chmod()


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°955948
melangeur
moi, j'dis ça, mais j'dis rien
Posté le 18-01-2005 à 23:12:13  profilanswer
 

je viens de vérifier,
 
dans les infos php:  
ftp >> ftp support :enable  
 
ça pourrait le faire donc ....

n°955964
melangeur
moi, j'dis ça, mais j'dis rien
Posté le 18-01-2005 à 23:47:23  profilanswer
 

voila le script :  
 

Code :
  1. $file1 = "/www.monsite.com/imguser/$thumb";
  2. $ftp_server = "ftp.monsite.com";
  3. $ftp_user = "user";
  4. $ftp_pwd ="pass";
  5. $conex = ftp_connect ($ftp_server)
  6. $login_result = ftp_login($conex, $ftp_user, $ftp_pwd);
  7. if (ftp_chmod($conex, 0644, $file1) !== false) {
  8. echo "Les permissions du fichier $file1 ont été modifiées avec succès en 644\n";
  9. } else {
  10. echo "Impossible de modifier les permissions du fichier $file\n";
  11. }
  12. ftp_close($conn_id);


 
Mais ça plante.....  
et mon hébergeur a desactivé les msg d'erreurs, donc, je ne sais pas ou cela plante.

n°955971
melangeur
moi, j'dis ça, mais j'dis rien
Posté le 19-01-2005 à 00:02:47  profilanswer
 

bon, c'est résolu ! :)  
Merci bcp pour le ftp_chmod ! Nickel :)

n°955974
KangOl
Profil : pointeur
Posté le 19-01-2005 à 00:05:16  profilanswer
 

c'etait quoi l'erreur ?


---------------
Nos estans firs di nosse pitite patreye...
n°955978
melangeur
moi, j'dis ça, mais j'dis rien
Posté le 19-01-2005 à 00:10:32  profilanswer
 

il me manquait un ";" et j'avais mal indiqué le repertoire du fichier dans ma variable.

n°956053
esox_ch
Posté le 19-01-2005 à 08:48:12  profilanswer
 

De rien :), c'est assez marrant de voir les admin de certains hebergements qui sont tellement incompétents qu'ils se laissent contourner avec une telle facilité :lol:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°956207
ratibus
Posté le 19-01-2005 à 11:33:47  profilanswer
 

sonikbuzz a écrit :

Un truc comme ca par exemple :

Code :
  1. chmod("$textfilename",777);



 :non:  

Code :
  1. chmod($textfilename, 0777);

Erreur classique, mais tout est marqué dans la doc : http://fr.php.net/manual/fr/function.chmod.php
 
Le "mode" du fichier est un nombre en notation octale donc il faut pas oublier le 0 devant  :)


Message édité par ratibus le 19-01-2005 à 11:35:03
n°956217
melangeur
moi, j'dis ça, mais j'dis rien
Posté le 19-01-2005 à 11:39:11  profilanswer
 

Exact.. ! Et c'est bon à savoir.
Sur Nexen ils préviennent également.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [résolu]pb de droit sur fichier upload via script [merci!]

 

Sujets relatifs
Recherche un bon script pour chat php[resolu] resize d"une image après un upload....
changer de user durant l'execution d'un scriptAjouter une ligne à la fin d'un fichier .txt sous windows
ouvrir automatiquement une page html dans un script phpliste box et fichier txt
[resolu] Prendre des infos sur les pages d'un intranet en PHPtest mysql : erreur de script
generics : besoin d'aspirine :D [Résolu] 
Plus de sujets relatifs à : [résolu]pb de droit sur fichier upload via script [merci!]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR