Question

J'ai essayé $ sftp- > chmod ('0755', "file.zip"); et $ sftp- > chmod ('0755', "fichier." zip ");

Mais dans les deux cas, l'autorisation a été définie sur 363 à la place.

Était-ce utile?

La solution

0755 et '0755' ne correspondent pas à la démonstration suivante:

<?php echo '0755' == 0755 ? 'equal' : 'not equal'; ?>;

Par là, essayez de supprimer les guillemets simples autour de 0755.

La raison pour laquelle phpseclib s'attend à ce que les autorisations soient représentées sous la forme d'une valeur octale ('0755' est converti en une valeur décimale - et non une valeur octale), c'est parce que ftp_chmod le fait et c'est ce que Net_SFTP :: chmod () est modélisé d'après. (en fait, la quasi-totalité de l'API SFTP de phpseclib est calquée sur l'API d'extension FTP de PHP)

Autres conseils

Les autorisations sont, à un moment donné, de 1363. En d'autres termes, octal (755). C'est une supposition complète, mais je suggérerais que la fonction chmod utilise un mode décimal plutôt qu'un mode octal.

Vous pouvez utiliser

$sftp->chmod(0755, $file);

Vous ne devez pas entrer d'autorisations dans la fonction phpseclib chmod () en tant que chaîne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top