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