簡體   English   中英

如何使用phpseclib更改sFTP服務器上文件的權限?

[英]How to change permissions for file on sFTP server using phpseclib?

我試過$sftp->chmod('0755', "file.zip"); $sftp->chmod('0755', "file.zip");

但是在兩種情況下,權限都改為363。

猜測權限為1363。換句話說,八進制(755)。 這是一個完整的猜測,但是我建議chmod函數采用的是十進制模式,而不是八進制模式。

0755和'0755'與以下演示的內容不同:

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

因此,請嘗試刪除0755附近的單引號。

phpseclib期望將權限表示為八進制值(“ 0755”強制轉換為十進制值-而不是八進制值)的原因是因為ftp_chmod做到了這一點,並且正是Net_SFTP::chmod()的模型。 (實際上,幾乎所有phpseclib的SFTP API都是以PHP的FTP擴展API為模型的)

您可以使用

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

您不應將權限作為字符串輸入phpseclib chmod()函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM