Я пробовал $ sftp-> chmod ('0755', "file.zip"); и $ sftp-> chmod ('0755', "file.zip"); Но в обоих случаях разрешение было установлено на 363 вместоКак изменить разрешения для файла на sFTP-сервере с помощью phpseclib?
ответ
0755 и '0755' не то же самое, как показано таким образом:?
< PHP эхо '0755' == 0755? «равно»: «не равно»; ? >
За что, попробуйте удалить одиночные кавычки 0755.
Причина phpseclib ожидает разрешения должны быть представлены в виде восьмеричного значения («0755» отливают десятичного значения - не восьмеричное один), потому что вот как это делает ftp_chmod, и именно так моделируется Net_SFTP :: chmod(). (На самом деле, в значительной степени все SFTP API phpseclib моделируется после FTP расширения API РНР)
При догадких разрешений 1363. Другими словами, восьмеричные (755). Это полная догадка, но я бы предположил, что функция chmod принимает десятичный режим, а не восьмеричную.
Вы можете использовать
$sftp->chmod(0755, $file);
Пожалуйста, всегда объясняйте свои короткие ответы. –
Взгляд через файл в http://www.frostjedi.com/terra/SFTP .txt говорит мне, что это действительно двоично. +1 – Gausie