open($backupFileName, ZipArchive::CREATE) === TRUE) {
foreach ($albums as $album) {
$zip->addFile($album, basename($album));
}
$zip->close();
// 触发下载
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename="' . basename($backupFileName) . '"');
header('Content-Length: ' . filesize($backupFileName));
ob_clean(); // 清除缓冲区
flush(); // 刷新输出缓冲
readfile($backupFileName);
// 删除服务器上的备份文件
unlink($backupFileName);
exit;
} else {
echo "
备份失败。
";
}
}
// 检查会话中的口令或表单提交的口令
if (isset($_SESSION['password']) && $_SESSION['password'] === $correctPassword) {
// 口令正确,显示管理界面
// 显示备份按钮和返回首页按钮
echo "";
// 处理创建新相册的操作
if (isset($_POST['create']) && !empty($_POST['newAlbumName'])) {
$newAlbumName = trim($_POST['newAlbumName']);
$newAlbumFile = $albumDir . $newAlbumName . '.txt';
if (!file_exists($newAlbumFile)) {
file_put_contents($newAlbumFile, '');
echo "新相册 '{$newAlbumName}' 创建成功。
";
} else {
echo "相册 '{$newAlbumName}' 已存在。
";
}
}
// 如果设置了album参数,显示相册内容管理界面
if (isset($_GET['album'])) {
$albumName = basename($_GET['album'], '.txt');
$albumFile = $albumDir . $albumName . '.txt';
// 显示相册内容管理界面
echo "管理相册: $albumName
";
echo "返回相册列表
";
// 处理增加图片的操作
if (isset($_POST['add'])) {
$imageUrls = explode("\n", $_POST['imageUrls']); // 从文本区域获取多个URL
foreach ($imageUrls as $imageUrl) {
if (!empty($imageUrl)) {
file_put_contents($albumFile, trim($imageUrl) . "\n", FILE_APPEND);
}
}
}
// 处理删除图片的操作
if (isset($_POST['delete'])) {
$imageUrl = $_POST['imageUrl'];
$images = file($albumFile, FILE_IGNORE_NEW_LINES);
$images = array_filter($images, function ($line) use ($imageUrl) {
return trim($line) !== trim($imageUrl);
});
file_put_contents($albumFile, implode("\n", $images) . "\n");
}
// 显示图片和删除按钮
$images = file($albumFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
echo "";
foreach ($images as $imageUrl) {
echo "
";
echo "

";
echo "
";
echo "
";
}
echo "
";
// 显示添加图片表单
echo "";
} else {
// 显示相册列表
echo "相册列表
";
echo "";
foreach ($albums as $album) {
$albumName = basename($album, '.txt');
echo "
$albumName";
}
echo "
";
// 显示创建新相册表单
echo "";
}
} elseif (isset($_POST['password']) && $_POST['password'] === $correctPassword) {
// 口令正确,保存口令到会话
$_SESSION['password'] = $_POST['password'];
// 重定向到相同页面,避免表单重复提交
header('Location: ' . $_SERVER['PHP_SELF']);
exit;
} else {
// 显示口令输入表单
echo "";
}
?>