[英]Rename folder to two destination folders on SFTP server with PHP
此功能正在工作並將文件夾從 mainfolder 移動到一個名為destinationfolder1
的文件夾。 我也想將文件夾移動到另一個文件夾。 名為backup
的文件夾,與destinationfolder1
位於同一位置/級別。 這可能嗎?
ssh2_sftp_rename($sftp, 'mainfolder/' . $entry , 'destinationfolder1/' . $entry );
您不能將文件/文件夾“重命名”為兩個文件夾。 那是胡說八道。 您必須創建文件/文件夾的副本。
核心 SFTP 協議中沒有“復制”功能。 為此有copy-file
SFTP 擴展。 但是 PHP SSH2 函數不支持它。 您也許可以將擴展添加到開源phpseclib 庫。 但實際上很少有 SFTP 服務器支持該擴展。 在最廣泛使用的 OpenSSH SFTP 服務器中,只有最近的9.0 版本才支持它。
如果您對服務器具有 shell 訪問權限,作為一種解決方法,您可以使用ssh2_exec
執行cp
shell 命令:
ssh2_exec($connection, 'cp -r /source/path/file /backup/file');
如果您沒有 shell 訪問權限,您唯一的選擇是下載文件/文件夾並將其重新上傳到另一個文件夾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.