Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/05/2011, 20h01   #1
Invité de passage
 
Inscription : mai 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 3
Points : 0
Points : 0
Par défaut Changement droit dossier

Bonjour,

Je viens vous demander votre aide car je me heurte à un petit problème.
Je fais une sorte d'installation grâce à un fichier php, et à un moment je dois changer les droits d'un dossier initialement 755 en 777 .

Voici un petit bout de mon code:
Code :
1
2
3
4
chmod($dossier, 0777);
	if(substr(sprintf('%o', fileperms($dossier)), -4)=="0777")
		echo "Droit du dossier changé<br/>";
	else echo "Droit du dossier inchangé!";
Mon problème est que cela ne fonctionne pas au premier mais toujours au deuxième lancement du script, ce que j'ai constaté en faisant un formulaire avec un bouton.

Du coup pour palier ce problème, je me suis dit que si je faisais une boucle avec 3 essais cela marcherai mais non, il faut relancer le script pour qu'il marche.

Ensuite j'ai pensé qu'avec la boucle l’exécution se faisais trop rapidement, alors entre chaque essai j'ai ajouté un temps d'attente mais rien n'a changé.

Donc je pense que je passe à coté de quelque chose, mais je ne vois pas du tout ce que c'est.


Merci beaucoup pour votre aide.
achmed63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 09h41   #2
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Bonjour,

Montre un peu plus de code, si cela ne fonctionne pas du premier coup c'est qu'il y a autre chose qui gêne, il n'y a pas de raison que chmod() soit aléatoire...

__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 10h33   #3
Invité de passage
 
Inscription : mai 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 3
Points : 0
Points : 0
Merci.

J'ai découpé le code en plusieurs fichiers pour tester chaque partie, mais il y a juste ce bout qui ne fonctionne pas.

Voici le code pour le dossier à changer:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
$dossier="upload";
echo "<br/>Dossier: ".$dossier."<br/>";
	if(!is_dir($dossier)){
		echo "Le dossier n'existe pas !<br/>";
		mkdir("upload", 0777);
	}else{
echo "Le dossier existe.<br/>Changement de droit du dossier ".$dossier."<br/>";
 
			chmod($dossier, 0777);
			if(substr(sprintf('%o', fileperms($dossier)), -4)=="0777")
				echo "Droit du dossier changé<br/>";
			else {
				echo "Droit du dossier inchangé! Try again!";
			}
		}
	}
J'ai essayé en changeant les droits des dossiers parents en 777 eux aussi, mais cela ne marche pas non plus.

De plus j'ai remarqué que si je crée le dossier moi même cela ne marche plus du tout, et cela marche une fois sur deux lorsque c'est php qui créer le dossier.

merci de votre aide.
achmed63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h52.


 
 
 
 
Partenaires

Hébergement Web