connect_error) { die("Connection failed: " . $mysqli->connect_error); } $mysqli->set_charset("utf8"); echo "=== Проверка недавних проблем с PDFmaker ===\n\n"; // 1. Ищем файлы с нулевым размером (возможная проблема PDFmaker) echo "1. Файлы с нулевым размером (возможная проблема PDFmaker)...\n"; $zero_size_query = "SELECT notesid, title, filename, filesize, s3_key, s3_bucket FROM vtiger_notes WHERE filelocationtype = 'E' AND filesize = 0 AND notesid >= 394400 ORDER BY notesid DESC LIMIT 20"; $zero_size_result = $mysqli->query($zero_size_query); if ($zero_size_result && $zero_size_result->num_rows > 0) { echo "Найдено файлов с нулевым размером: " . $zero_size_result->num_rows . "\n"; while ($row = $zero_size_result->fetch_assoc()) { echo "ID: " . $row['notesid'] . " - " . $row['title'] . "\n"; echo "URL: " . substr($row['filename'], 0, 80) . "...\n"; echo "S3 Key: " . ($row['s3_key'] ?: 'NULL') . "\n"; // Проверяем доступность if (!empty($row['filename'])) { $headers = @get_headers($row['filename'], 1); if ($headers && strpos($headers[0], '200') !== false) { echo "✅ Доступен\n"; } else { echo "❌ Недоступен\n"; } } echo "---\n"; } } else { echo "Файлов с нулевым размером не найдено\n"; } // 2. Ищем файлы с проблемными символами в URL echo "\n2. Файлы с проблемными символами в URL...\n"; $problematic_query = "SELECT notesid, title, filename, filesize, s3_key, s3_bucket FROM vtiger_notes WHERE filelocationtype = 'E' AND notesid >= 394400 AND (filename LIKE '%#%' OR filename LIKE '% %' OR filename LIKE '%[%' OR filename LIKE '%]%') ORDER BY notesid DESC LIMIT 20"; $problematic_result = $mysqli->query($problematic_query); if ($problematic_result && $problematic_result->num_rows > 0) { echo "Найдено файлов с проблемными символами: " . $problematic_result->num_rows . "\n"; while ($row = $problematic_result->fetch_assoc()) { echo "ID: " . $row['notesid'] . " - " . $row['title'] . "\n"; echo "URL: " . substr($row['filename'], 0, 80) . "...\n"; echo "S3 Key: " . ($row['s3_key'] ?: 'NULL') . "\n"; // Проверяем доступность if (!empty($row['filename'])) { $headers = @get_headers($row['filename'], 1); if ($headers && strpos($headers[0], '200') !== false) { echo "✅ Доступен\n"; } else { echo "❌ Недоступен\n"; } } echo "---\n"; } } else { echo "Файлов с проблемными символами не найдено\n"; } // 3. Ищем файлы без S3 ключей echo "\n3. Файлы без S3 ключей...\n"; $no_s3_query = "SELECT notesid, title, filename, filesize, s3_key, s3_bucket FROM vtiger_notes WHERE filelocationtype = 'E' AND notesid >= 394400 AND (s3_key IS NULL OR s3_key = '') ORDER BY notesid DESC LIMIT 20"; $no_s3_result = $mysqli->query($no_s3_query); if ($no_s3_result && $no_s3_result->num_rows > 0) { echo "Найдено файлов без S3 ключей: " . $no_s3_result->num_rows . "\n"; while ($row = $no_s3_result->fetch_assoc()) { echo "ID: " . $row['notesid'] . " - " . $row['title'] . "\n"; echo "URL: " . substr($row['filename'], 0, 80) . "...\n"; echo "S3 Key: " . ($row['s3_key'] ?: 'NULL') . "\n"; echo "---\n"; } } else { echo "Файлов без S3 ключей не найдено\n"; } // 4. Ищем файлы с русскими символами без кодировки echo "\n4. Файлы с русскими символами без кодировки...\n"; $russian_query = "SELECT notesid, title, filename, filesize, s3_key, s3_bucket FROM vtiger_notes WHERE filelocationtype = 'E' AND notesid >= 394400 AND (filename REGEXP '[А-Яа-я]') AND filename NOT LIKE '%#realfile%' ORDER BY notesid DESC LIMIT 20"; $russian_result = $mysqli->query($russian_query); if ($russian_result && $russian_result->num_rows > 0) { echo "Найдено файлов с русскими символами: " . $russian_result->num_rows . "\n"; while ($row = $russian_result->fetch_assoc()) { echo "ID: " . $row['notesid'] . " - " . $row['title'] . "\n"; echo "URL: " . substr($row['filename'], 0, 80) . "...\n"; echo "S3 Key: " . ($row['s3_key'] ?: 'NULL') . "\n"; // Проверяем доступность if (!empty($row['filename'])) { $headers = @get_headers($row['filename'], 1); if ($headers && strpos($headers[0], '200') !== false) { echo "✅ Доступен\n"; } else { echo "❌ Недоступен\n"; } } echo "---\n"; } } else { echo "Файлов с русскими символами без кодировки не найдено\n"; } $mysqli->close(); echo "\n=== Проверка завершена ===\n"; ?>