[RESOLU] ftp_chmod - problème - ne fonctionne que avec dossier mais pas avec fichier

Avatar du membre
Eléphant du PHP | 88 Messages

15 avr. 2016, 12:20

Bonjour,

je voudrai un peu d'aide Svp.
Je suis en train de mettre en place un script pour que les utilisateurs puissent modifier via un admin les droits d'accès de leurs fichiers et dossiers de leur FTP.
Pour les dossiers ça fonctionne, mais pas avec les fichiers. Voici mon code :

Code : Tout sélectionner

<?php /** * Modifier les droits d'un fichier, ou d'un dossier * @param int $droits - Nouvelles permissions * @param $nameFileOrFolder - Nom du fichier ou du dossier sur lequel modifier les droits */ public function savePermissionsFiles($droits, $nameFileOrFolder) { $conn_id = ftp_connect($this->user->host, $this->user->port); $login_result = ftp_login($conn_id, $this->user->user, $this->user->pass); if ($login_result) { $np = '0'.$droits; $filesPath = $this->user->dir_current.'/'.$nameFileOrFolder; $resultSave = (ftp_chmod($conn_id, eval("return({$np});"), $filesPath) !== false); var_dump($filesPath); ftp_close($conn_id); return $resultSave; } }
Mon vardump me retourne ceci par exemple :

Code : Tout sélectionner

<?php // pour un dossier (fonctionne) : string(10) "/www/stats" // pour un fichier (ne fonctionne pas) : string(13) "/www/toto.ini"
(donc je pense que les path sont bons).

Savez-vous pourquoi ce code ne fonctionne pas avec les fichiers ?
Merci beaucoup.

Mammouth du PHP | 1029 Messages

22 avr. 2016, 12:00

Bonjour,
Et en mettant les droits correctement sans passer par eval

Code : Tout sélectionner

if ($login_result) { $np = (int) '0'.$droits; $filesPath = $this->user->dir_current.'/'.$nameFileOrFolder; $resultSave = (ftp_chmod($conn_id, $np, $filesPath) !== false);
L'expérience est la somme de toutes nos erreurs.

Avatar du membre
Eléphant du PHP | 88 Messages

22 avr. 2016, 15:28

merci. mais en fait c'étais pas une erreur du à mon code, mais du à l’hébergeur...
sujet résolu