3

phpseclibを使用して、SFTP サーバーのすべてのログを削除しようとしました。

コードは単純です:

$sftp = new Net_SFTP($host_name);
$sftp->login($username, $password); // login is successful
$sftp->chdir('/somefolder');
if(!$sftp->delete('*.log')) {
  $logger->error('Cannot remove logs');
}

ログには「ログを削除できません」と表示されます。

ただし、シェルで SFTP コマンドを使用すると、次のように動作します。

$ sftp myusername@example.com
Password: (type in my password)
sftp> cd /somefolder
sftp> rm *.log
Removing xxx.log
Removing yyy.log
sftp> ls
( no more *.log )
sftp> exit

phpseclib の削除機能はワイルドカード文字をサポートしていますか? そうでない場合、代替手段はありますか?

4

1 に答える 1