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 05/11/2007, 09h52   #1
Membre éprouvé
 
Avatar de babastutz
 
Inscription : décembre 2005
Messages : 943
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 943
Points : 423
Points : 423
Par défaut [FTP] Impossible de modifier le chmod

Bonjour,

J'utilise la fonction ftp_chmod pour modifier les permissions à certains dossiers de mon site à son installation. Le problème c'est que les permissions ne sont jamais changées.....

Voilà comme je m'y prend :

Code :
1
2
3
4
5
6
7
foreach($tab_dossier_777 as $d)
	{
		if(ftp_chmod($cnx_chmod, 0777, $d) !== false)
			echo "Les permissions à ".$d." ont été modifiées avec succès en 777.<br/>";
		else
			echo "Impossible de modifier les permissions de ".$d." en 777. Veuillez les modifier manuellement.<br/>";
	}
Il me renvois tout le temps dans le else.

$cnx_chmod est testé plus haut dans le code dons pas d'erreur à ce niveau là.
__________________
Une légende, c’est un vieil homme avec une canne et que tout le monde connaît pour ce qu’il faisait. [Miles Davis]
babastutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2007, 10h27   #2
Membre éprouvé
 
Avatar de babastutz
 
Inscription : décembre 2005
Messages : 943
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 943
Points : 423
Points : 423
En fait je vous mets tout le code se sera peut être plus simple.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
// 1) Liste des dossiers :
		$tab_dossier_777 = array(	"librairies/fichiers",
									"fichiers", "fichiers/pages", "fichiers/smileys", "fichiers/sponsor",
									"Style/custom", "Style/custom/images",
									"temp",
									"visites", "visites/counter.txt");
 
	// 2) Connexion au FTP :
		if ($cnx_chmod = ftp_connect($_SESSION['admin_ftp_hote'], $_SESSION['admin_ftp_port']))
		{
			if (ftp_login($cnx_chmod, $_SESSION['admin_ftp_login'], $_SESSION['admin_ftp_password']))
			{
				ftp_chdir($cnx_chmod, $_SESSION['admin_ftp_dossier']);
 
	// 3) Modification des permissions de chaque dossier :
				foreach($tab_dossier_777 as $d)
				{
					if(ftp_chmod($cnx_chmod, 0777, $d) !== false)
						echo "Les permissions à ".$d." ont été modifiées avec succès en 777.<br/>";
					else
						echo "Impossible de modifier les permissions de ".$d." en 777. Veuillez les modifier manuellement.<br/>";
				}
				echo "<br/>";
				ftp_close($cnx_chmod);
			}
			else
			{
				echo "<script language=\"JavaScript\">alert(\"Erreur FTP : login ou mot de passe incorrect.\");</script>";
				exit();
			}
		}
		else
		{
			echo "<script language=\"JavaScript\">alert(\"Erreur FTP : hôte ou port incorrect.\");</script>";
			exit();
		}
__________________
Une légende, c’est un vieil homme avec une canne et que tout le monde connaît pour ce qu’il faisait. [Miles Davis]
babastutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2007, 14h09   #3
Membre éprouvé
 
Avatar de babastutz
 
Inscription : décembre 2005
Messages : 943
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 943
Points : 423
Points : 423
j'ai tenté un fichier de test super simplifié pour voir ou sa cache l'erreur. Ca n'est en tout cas pas dans les identifiants.

Code :
1
2
3
4
if(ftp_chmod($cnx_chmod, 0777, $file))
	echo "ok, permissions accordées";
else
	 echo "erreur, permissions non accordées";
Cela ne fonctionne toujours pas. Pensez-vous que l'hébergeur puisse bloquer cette fonction ? Si oui, comment le savoir ?
__________________
Une légende, c’est un vieil homme avec une canne et que tout le monde connaît pour ce qu’il faisait. [Miles Davis]
babastutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2007, 14h50   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par babastutz
Pensez-vous que l'hébergeur puisse bloquer cette fonction ?
Oui, c'est le cas de Free par exemple.

Citation:
Envoyé par babastutz
Si oui, comment le savoir ?
La fonction ftp_chmod devrait théoriquement échouer (renvoi de la valeur FALSE) et émettre un message d'erreur en indiquant la raison. Pour la deuxième partie de la réponse cela dépendra éventuellement de votre manière de coder (arobases à bannir) et de la configuration de votre serveur (affichage ou non des erreurs, types des messages d'erreur reportés).

Mais cela pourrait être simplement la conséquence d'un problème au niveau du chemin par exemple.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2007, 14h54   #5
Membre éprouvé
 
Avatar de babastutz
 
Inscription : décembre 2005
Messages : 943
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 943
Points : 423
Points : 423
Je n'ai jamais reçu de message d'erreur malgré l'absence d'arobase. Je crois que je vais faire une pause pasque là je commence à m'énerver sur ce problème
__________________
Une légende, c’est un vieil homme avec une canne et que tout le monde connaît pour ce qu’il faisait. [Miles Davis]
babastutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2007, 09h06   #6
Membre éprouvé
 
Avatar de babastutz
 
Inscription : décembre 2005
Messages : 943
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 943
Points : 423
Points : 423
Est-ce que quelqu'un saurait comment l'hébergeur bloque cette fonction ? Fichiers .htaccess sur le ftp ou je sais pas quoi. Y'a t'il un manière de modifier ça ?
__________________
Une légende, c’est un vieil homme avec une canne et que tout le monde connaît pour ce qu’il faisait. [Miles Davis]
babastutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2007, 16h01   #7
Membre éprouvé
 
Avatar de babastutz
 
Inscription : décembre 2005
Messages : 943
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 943
Points : 423
Points : 423
En fait mon hébergeur (easygiga) bloque la fonction ftp_chmod. J'ai donc contourné le problème comme ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
// 1) Liste des dossiers :
		$tab_dossier_777 = array(	"librairies/fichiers",
						"fichiers", "fichiers/pages", "fichiers/smileys", "fichiers/sponsor",
						"Style/custom", "Style/custom/images",
						"temp",
						"visites", "visites/counter.txt");
 
	// 2) Connexion au FTP :
		if ($cnx_chmod = ftp_connect($_SESSION['admin_ftp_hote'], $_SESSION['admin_ftp_port']))
		{
			if (ftp_login($cnx_chmod, $_SESSION['admin_ftp_login'], $_SESSION['admin_ftp_password']))
			{
				ftp_chdir($cnx_chmod, $_SESSION['admin_ftp_dossier']);
				ftp_chdir($cnx_chmod, ".."); //Racine du site
	// 3) Modification des permissions de chaque dossier :
				foreach($tab_dossier_777 as $d)
				{
					$sitecommand = "chmod 0777 $d";
					$success = ftp_site($cnx_chmod, $sitecommand);
					if ($success == false) { 
						echo "Impossible de changer les permissions de <strong>$d</strong> en chmod 777. Veuillez le faire manuellement.<br/>";
					}
				}
				ftp_close($cnx_chmod);
			}
			else
			{
				echo "<script language=\"JavaScript\">alert(\"Erreur FTP : login ou mot de passe incorrect.\");</script>";
				exit();
			}
		}
		else
		{
			echo "<script language=\"JavaScript\">alert(\"Erreur FTP : hôte ou port incorrect.\");</script>";
			exit();
		}
__________________
Une légende, c’est un vieil homme avec une canne et que tout le monde connaît pour ce qu’il faisait. [Miles Davis]
babastutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web