Обучение/Помощь новичкам | Johncms Проблема отображения и воспроизведения видеоматериалов
Посмотрите на этот код, где-то он не работает. Если понимаете, исправьте, пожалуйста!!!
$stmtD = $pdo->prepare("SELECT * FROM `download__files` ORDER BY id DESC");
[/code][code=php]
// Change 'articles' to your table name
$stmt->execute();
$stmtD->execute();
// Fetch all rows as an associative array
$rows = $stmtD->fetchAll(PDO::FETCH_ASSOC);
// If no rows, show a message
if (empty($rows)) {
echo "No articles found in the database.";
} else {
echo "Article Links:";
// Loop through each row and echo the link
foreach ($rows as $row) {
// Escape outputs for safety
$safe_id = (int)$row['id']; // Cast to int for security
$safe_name = htmlspecialchars($row['name'], ENT_QUOTES, 'UTF-8');
$safe_nameT = htmlspecialchars($row['rus_name'], ENT_QUOTES, 'UTF-8');
echo '[url=/downloads/?act=view&id=' . (int)$safe_id . ']' . $safe_name . ' [/url]
';
echo '[url=/downloads/?act=view&id=' . (int)$safe_id . ']' . $safe_nameT . ' [/url]
';
[/code][code=php] }
}
} catch (PDOException $e) {
// Handle connection or query errors
echo "Error: " . $e->getMessage() . "";
}
[/code][code=php]// Close the connection (PDO does this automatically at script end)
$pdo = null;
?>
$stmtD = $pdo->prepare("SELECT * FROM `download__files` ORDER BY id DESC");
[/code][code=php]
// Change 'articles' to your table name
$stmt->execute();
$stmtD->execute();
// Fetch all rows as an associative array
$rows = $stmtD->fetchAll(PDO::FETCH_ASSOC);
// If no rows, show a message
if (empty($rows)) {
echo "No articles found in the database.";
} else {
echo "Article Links:";
// Loop through each row and echo the link
foreach ($rows as $row) {
// Escape outputs for safety
$safe_id = (int)$row['id']; // Cast to int for security
$safe_name = htmlspecialchars($row['name'], ENT_QUOTES, 'UTF-8');
$safe_nameT = htmlspecialchars($row['rus_name'], ENT_QUOTES, 'UTF-8');
echo '[url=/downloads/?act=view&id=' . (int)$safe_id . ']' . $safe_name . ' [/url]
';
echo '[url=/downloads/?act=view&id=' . (int)$safe_id . ']' . $safe_nameT . ' [/url]
';
[/code][code=php] }
}
} catch (PDOException $e) {
// Handle connection or query errors
echo "Error: " . $e->getMessage() . "";
}
[/code][code=php]// Close the connection (PDO does this automatically at script end)
$pdo = null;
?>
Шо ж ты темы дублируешь ?
Ты хочешь что именно сделать чтобы видео отображалось с плеером или сами файлы не загружаются или что?
------
Скачиваний: 3
php
<?php try { $stmtD = $pdo->prepare("SELECT * FROM `download__files` ORDER BY id DESC"); $stmtD->execute(); $rows = $stmtD->fetchAll(PDO::FETCH_ASSOC); if (empty($rows)) { echo '<div class="glass-panel">Файлов пока нет.</div>'; } else { echo "<h3>Список файлов:</h3>"; foreach ($rows as $row) { $safe_id = (int)$row['id']; $safe_name = htmlspecialchars($row['name'], ENT_QUOTES, 'UTF-8'); $safe_nameT = htmlspecialchars($row['rus_name'], ENT_QUOTES, 'UTF-8'); echo '<div class="glass-panel" style="margin-bottom: 10px;">'; echo '<a href="/downloads/?act=view&id=' . $safe_id . '">📄 ' . $safe_name . '</a><br/>'; if (!empty($safe_nameT)) { echo '<small style="color: gray;">' . $safe_nameT . '</small>'; } echo '</div>'; } } } catch (PDOException $e) { echo '<div style="color: red;">Ошибка базы данных: ' . htmlspecialchars($e->getMessage()) . '</div>'; } $pdo = null; ?> ________
посл. ред. 15.02.2026 в 15:33; всего 1 раз(а); by dinamko
пиши в лс
<?php
declare(strict_types=1);
use Johncms\System\View;
use Johncms\System\Database\Db;
// Подключаем ядро JohnCMS
require_once DIR . '/../../system/bootstrap.php';
$view = new View();
// Получаем видео из базы
$db = Db::getInstance();
$videoId = (int)($_GET['id'] ?? 0);
$video = $db->query(
"SELECT * FROM videos WHERE id = ? LIMIT 1",
[$videoId]
)->fetch();
if (!$video) {
echo 'Видео не найдено';
exit;
}
// Абсолютный путь к файлу (должен начинаться со слеша)
$videoPath = $video['location'];
// Проверяем, существует ли файл физически
if (!is_file($_SERVER['DOCUMENT_ROOT'] . $videoPath)) {
echo 'Ошибка: файл видео не найден на сервере';
exit;
}
// Передаём данные в шаблон
echo $view->render('video::player', [
'videoPath' => $videoPath,
]);
<?php
declare(strict_types=1);
use Johncms\System\View;
use Johncms\System\Database\Db;
require_once DIR . '/../../system/bootstrap.php';
$view = new View();
$db = Db::getInstance();
$videoId = (int)($_GET['id'] ?? 0);
$video = $db->query(
"SELECT * FROM videos WHERE id = ? LIMIT 1",
[$videoId]
)->fetch();
if (!$video) {
echo 'Видео не найдено';
exit;
}
$videoPath = str_replace(['../', './'], '', $video['location']);
$fullPath = $_SERVER['DOCUMENT_ROOT'] . '/' . ltrim($videoPath, '/');
if (!is_file($fullPath)) {
echo 'Ошибка: файл видео не найден';
exit;
}
echo $view->render('video::player', [
'videoPath' => htmlspecialchars($videoPath, ENT_QUOTES, 'UTF-8'),
]);
В JohnCMS 9.6 внутри видео не отображаются, возможно нужен код. Кто выводил видео на главную страницу?
Стр.: 1, 2
