Page 1 sur 1
Fonction chown()
Posté : 27 avr. 2007, 22:56
par stefane321
Bonjour,
J'ai un problème avec l'upload de mes photo en http.
Souvent elle ne veulement pas s'affiché.
J'ai fait divers test qui me porte a croire que c'est parce qu'elle ont le owner apache.
J'ai donc voulu le chancher pour mon user à l'aide de la fonction chown().
chown("".$pathImg.$dir_icone.$_FILES["images"]['name']."", 'arbrof');
J'ai essayé sur 2 serveurs:
Un me dis :
Warning: chown(): Operation not permitted in line .....
L'autre, bien sa ne fait absolument rien, pas d'erreur mais pas de changement de propriétaire non plus.
Pouvez-vous m'aider svp?
Merci!
Posté : 27 avr. 2007, 23:24
par thehawk
est tu sur que chown est activer sur les serveur de test ?
Comment le savoir?
Posté : 28 avr. 2007, 00:04
par stefane321
Comment le savoir?
J'imagine que je le saurais en utilisant phpinfo() mais je l'ai fait mais c'est pas écrit chown activé ou non activé.
Je dois regarder quoi?
Posté : 28 avr. 2007, 01:07
par sadeq
pour exécuter chown il faut être un des "Administrateurs", en ligne, on ne l'est pas. D'autres parts, la majorité des fonctions systèmes sont désactivées par les hébergeurs pour des raisons de sécurité.
Alors???
Posté : 28 avr. 2007, 02:18
par stefane321
Alors comment faire pour changer le propriétaire du fichier?
Posté : 28 avr. 2007, 04:12
par Xenon_54
Pourquoi changer le owner? Apache a uploadé le fichier, il peut donc le lire.
Essaie plutôt au niveau du chmod. Ajoute le droit de lecture pour "group" ou alors "other".
Si ça ne fonctionne pas, exécute ceci et montre nous les résultats:
<?php
$fichier = 'Ton fichier uploadé';
echo fileowner($fichier) . '<br>';
echo filegroup($fichier) . '<br>';
echo sprintf('%o', fileperms($fichier) ) . '<br>';
echo getmyuid();
?>
Résultat
Posté : 28 avr. 2007, 16:55
par stefane321
Le résultat est:
48
48
100644
10196
Sa veut dire quoi?
Posté : 28 avr. 2007, 23:05
par Sékiltoyai
Fais ceci :
<?php
chmod ($fichier, 0755);
echo sprintf('%o', fileperms($fichier) );
?>
Et donne le résultat.
Re: Résultat
Posté : 29 avr. 2007, 05:36
par Xenon_54
Le résultat est:
48
48
100644
10196
Sa veut dire quoi?
Le owner du fichier n'est pas le même que celui qui roule Apache.
Pourtant le droit d'écriture est présent partout. Donc il ne devrait pas y avoir de problème.
Souvent elle ne veulement pas s'affiché.
Tu veux dire quoi par là?
Durant les pleines lune ça marche ou il y a une logique?
Re: Résultat
Posté : 29 avr. 2007, 10:23
par Sékiltoyai
Le owner du fichier n'est pas le même que celui qui roule Apache.
Pourtant le droit d'écriture est présent partout. Donc il ne devrait pas y avoir de problème.
Non, s'il est en mode 644, si je ne me trompe, seul le owner a les droits d'écriture.