67 lines
2.7 KiB
PHP
67 lines
2.7 KiB
PHP
<?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";
|
||
?>
|