Files
crm.clientright.ru/crm_extensions/file_storage/cleanup_safe_files.php

67 lines
2.7 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* Удаление безопасных битых файлов
*/
require_once '/var/www/fastuser/data/www/crm.clientright.ru/config.inc.php';
$mysqli = new mysqli($dbconfig['db_server'], $dbconfig['db_username'], $dbconfig['db_password'], $dbconfig['db_name']);
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
$mysqli->set_charset("utf8");
echo "=== ОЧИСТКА БЕЗОПАСНЫХ БИТЫХ ФАЙЛОВ ===\n";
echo "Дата: " . date('Y-m-d H:i:s') . "\n\n";
$deletedCount = 0;
// 1. Удаляем файлы с пустыми именами
echo "1. Удаляем файлы с пустыми именами...\n";
$query1 = "DELETE FROM vtiger_notes WHERE filelocationtype = 'I' AND (s3_key IS NULL OR s3_key = '') AND (filename IS NULL OR filename = '')";
$result1 = $mysqli->query($query1);
if ($result1) {
$deleted1 = $mysqli->affected_rows;
echo " ✅ Удалено: $deleted1 файлов\n";
$deletedCount += $deleted1;
} else {
echo " ❌ Ошибка: " . $mysqli->error . "\n";
}
// 2. Удаляем файлы размером 0 байт
echo "2. Удаляем файлы размером 0 байт...\n";
$query2 = "DELETE FROM vtiger_notes WHERE filelocationtype = 'I' AND (s3_key IS NULL OR s3_key = '') AND filesize = 0";
$result2 = $mysqli->query($query2);
if ($result2) {
$deleted2 = $mysqli->affected_rows;
echo " ✅ Удалено: $deleted2 файлов\n";
$deletedCount += $deleted2;
} else {
echo " ❌ Ошибка: " . $mysqli->error . "\n";
}
// 3. Удаляем старые тестовые файлы
echo "3. Удаляем старые тестовые файлы (file_15_*)...\n";
$query3 = "DELETE FROM vtiger_notes WHERE filelocationtype = 'I' AND (s3_key IS NULL OR s3_key = '') AND filename LIKE 'file_15_%'";
$result3 = $mysqli->query($query3);
if ($result3) {
$deleted3 = $mysqli->affected_rows;
echo " ✅ Удалено: $deleted3 файлов\n";
$deletedCount += $deleted3;
} else {
echo " ❌ Ошибка: " . $mysqli->error . "\n";
}
echo "\n=== ИТОГИ ОЧИСТКИ ===\n";
echo "Всего удалено безопасных файлов: $deletedCount\n";
// Проверяем, сколько битых файлов осталось
$remainingQuery = "SELECT COUNT(*) as count FROM vtiger_notes WHERE filelocationtype = 'I' AND (s3_key IS NULL OR s3_key = '')";
$remainingResult = $mysqli->query($remainingQuery);
$remainingCount = $remainingResult->fetch_assoc()['count'];
echo "Осталось битых файлов: $remainingCount\n";
$mysqli->close();
echo "\n✅ Очистка завершена!\n";
?>