PHP ssh2_scp_send права доступа к файлу - PullRequest
4 голосов
/ 18 декабря 2010

Я использую функцию PHP ssh2_scp_send для передачи файлов с одного сервера на другой. Интересно то, что если я напишу разрешение в восьмеричной форме (то есть 0644), то все будет работать нормально. Если я вместо этого заключу это в кавычки или использую переменную, это больше не работает.

Для ясности: Это работает: ssh2_scp_send($conn, $localFile, $remoteFile, 0644);

НЕ работает: ssh2_scp_send($conn, $localFile, $remoteFile, "0644");

НЕ работает: $permission=0644;ssh2_scp_send($conn, $localFile, $remoteFile, $permission);

У кого-нибудь есть идеи, почему это так?

Ответы [ 2 ]

2 голосов
/ 18 декабря 2010

Дайте decoct() шанс. Я не уверен, что это сработает, но вы можете попробовать. Еще одна вещь, которую вы можете попробовать - сохранить значения разрешений в константах с define()

1 голос
/ 18 декабря 2010

Строка может быть интерпретирована как десятичная.

Кроме того, какой тип $permission? Попробуйте использовать var_dump() на нем. Это тоже может быть строка.

$a = 0644;

$b = (int) "0644";

var_dump($a, $b); // int(420), int(644)

См. На codepad.org

...