fix video
This commit is contained in:
@@ -52,8 +52,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$upload_path = $upload_dir . $file_name;
|
||||
|
||||
if (move_uploaded_file($_FILES['video_file']['tmp_name'], $upload_path)) {
|
||||
// Imposta il percorso relativo per il database
|
||||
$video_url = '/uploads/lessons/' . ($is_demo ? 'demo' : 'pay') . '/' . $file_name;
|
||||
// Imposta il percorso relativo per il database (senza slash iniziale)
|
||||
$video_url = 'uploads/lessons/' . ($is_demo ? 'demo' : 'pay') . '/' . $file_name;
|
||||
|
||||
// Estrai durata automaticamente se non specificata
|
||||
if (empty($duration)) {
|
||||
|
||||
@@ -82,11 +82,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
|
||||
if (move_uploaded_file($_FILES['video_file']['tmp_name'], $upload_path)) {
|
||||
// Elimina il vecchio file se esisteva
|
||||
if (!empty($lesson['video_url']) && file_exists('../' . $lesson['video_url'])) {
|
||||
@unlink('../' . $lesson['video_url']);
|
||||
$old_video_path = ltrim($lesson['video_url'], '/');
|
||||
if (!empty($lesson['video_url']) && file_exists('../' . $old_video_path)) {
|
||||
@unlink('../' . $old_video_path);
|
||||
}
|
||||
// Imposta il nuovo percorso
|
||||
$video_url = '/uploads/lessons/' . ($is_demo ? 'demo' : 'pay') . '/' . $file_name;
|
||||
// Imposta il nuovo percorso (senza slash iniziale)
|
||||
$video_url = 'uploads/lessons/' . ($is_demo ? 'demo' : 'pay') . '/' . $file_name;
|
||||
|
||||
// Estrai durata automaticamente se non specificata
|
||||
if (empty($duration)) {
|
||||
|
||||
23
lesson.php
23
lesson.php
@@ -135,8 +135,27 @@ $can_view = $lesson['is_demo'] || $user_owns;
|
||||
<?php endif; ?>
|
||||
<?php else: ?>
|
||||
<!-- Video locale o altro -->
|
||||
<video controls width="100%" height="100%" style="border-radius: 8px;">
|
||||
<source src="<?php echo htmlspecialchars($lesson['video_url']); ?>">
|
||||
<?php
|
||||
// Determina il percorso completo del video
|
||||
$video_path = $lesson['video_url'];
|
||||
// Se il percorso non inizia con http, aggiungi il SITE_URL
|
||||
if (!preg_match('/^https?:\/\//', $video_path)) {
|
||||
// Rimuovi eventuali slash iniziali
|
||||
$video_path = ltrim($video_path, '/');
|
||||
$video_path = SITE_URL . '/' . $video_path;
|
||||
}
|
||||
// Determina il tipo MIME dal file
|
||||
$extension = strtolower(pathinfo($lesson['video_url'], PATHINFO_EXTENSION));
|
||||
$mime_types = [
|
||||
'mp4' => 'video/mp4',
|
||||
'webm' => 'video/webm',
|
||||
'ogg' => 'video/ogg',
|
||||
'mov' => 'video/quicktime'
|
||||
];
|
||||
$mime_type = $mime_types[$extension] ?? 'video/mp4';
|
||||
?>
|
||||
<video controls width="100%" height="100%" style="border-radius: 8px;" preload="metadata">
|
||||
<source src="<?php echo htmlspecialchars($video_path); ?>" type="<?php echo $mime_type; ?>">
|
||||
Il tuo browser non supporta il tag video.
|
||||
</video>
|
||||
<?php endif; ?>
|
||||
|
||||
Reference in New Issue
Block a user