我刚写了一个PHP脚本,它应该连接到FTP并删除特殊文件夹中的所有文件.
它看起来像这样,但我不知道删除文件夹日志中的所有文件需要什么命令.
任何的想法?
<?php
// set up the settings
$ftp_server = 'something.net';
$ftpuser = 'username';
$ftppass = 'pass';
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftpuser, $ftppass);
// delete all files in the folder logs
????????
// close the connection
ftp_close($conn_id);
?>
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个函数,该函数将定期运行以删除任何没有活动用户的旧“用户”文件夹。这是我的功能:
function delete_temp_user_files() {
$dir = $_SERVER['DOCUMENT_ROOT'] . "/users/";
$dir_files = array();
$dir_files = scandir($dir);
foreach ($dir_files as $username) {
if ($username == "." || $username == "..") continue;
if (!user_exist($username)) {
$dir1 = $_SERVER['DOCUMENT_ROOT'] . "/users/" . $username;
if (!is_dir($dir1)) continue;
if (file_exists($dir1)) unlink($dir1);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是当它尝试删除目录时,我收到错误消息“警告:取消链接(/path/to/users/delete1/):在线 /page.php 中的目录...”我知道该目录存在,因为我可以在目录中看到它,无论如何它使用 scandir() 找到了它。
我使用 unlink 删除其他脚本中的这些相同文件夹,它工作正常。目录不是空的,所以我不能使用 rmdir()。
我不熟悉权限或类似的东西,这是某种问题吗?如果我只使用 PHP 脚本删除文件和文件夹(例如当用户单击运行我编写的脚本的删除按钮时),我是否需要担心权限?
更新:
网上搜了下终于找到删除目录的方法了
function delete_dir($directory) {
foreach(glob("{$directory}/*") as $file)
{
if(is_dir($file)) {
delete_dir($file);
} else {
unlink($file);
}
}
rmdir($directory);
}
Run Code Online (Sandbox Code Playgroud)