fix video
This commit is contained in:
@@ -52,8 +52,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
$upload_path = $upload_dir . $file_name;
|
$upload_path = $upload_dir . $file_name;
|
||||||
|
|
||||||
if (move_uploaded_file($_FILES['video_file']['tmp_name'], $upload_path)) {
|
if (move_uploaded_file($_FILES['video_file']['tmp_name'], $upload_path)) {
|
||||||
// Imposta il percorso relativo per il database
|
// Imposta il percorso relativo per il database (senza slash iniziale)
|
||||||
$video_url = '/uploads/lessons/' . ($is_demo ? 'demo' : 'pay') . '/' . $file_name;
|
$video_url = 'uploads/lessons/' . ($is_demo ? 'demo' : 'pay') . '/' . $file_name;
|
||||||
|
|
||||||
// Estrai durata automaticamente se non specificata
|
// Estrai durata automaticamente se non specificata
|
||||||
if (empty($duration)) {
|
if (empty($duration)) {
|
||||||
|
|||||||
@@ -82,11 +82,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
|
|
||||||
if (move_uploaded_file($_FILES['video_file']['tmp_name'], $upload_path)) {
|
if (move_uploaded_file($_FILES['video_file']['tmp_name'], $upload_path)) {
|
||||||
// Elimina il vecchio file se esisteva
|
// Elimina il vecchio file se esisteva
|
||||||
if (!empty($lesson['video_url']) && file_exists('../' . $lesson['video_url'])) {
|
$old_video_path = ltrim($lesson['video_url'], '/');
|
||||||
@unlink('../' . $lesson['video_url']);
|
if (!empty($lesson['video_url']) && file_exists('../' . $old_video_path)) {
|
||||||
|
@unlink('../' . $old_video_path);
|
||||||
}
|
}
|
||||||
// Imposta il nuovo percorso
|
// Imposta il nuovo percorso (senza slash iniziale)
|
||||||
$video_url = '/uploads/lessons/' . ($is_demo ? 'demo' : 'pay') . '/' . $file_name;
|
$video_url = 'uploads/lessons/' . ($is_demo ? 'demo' : 'pay') . '/' . $file_name;
|
||||||
|
|
||||||
// Estrai durata automaticamente se non specificata
|
// Estrai durata automaticamente se non specificata
|
||||||
if (empty($duration)) {
|
if (empty($duration)) {
|
||||||
|
|||||||
23
lesson.php
23
lesson.php
@@ -135,8 +135,27 @@ $can_view = $lesson['is_demo'] || $user_owns;
|
|||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
<!-- Video locale o altro -->
|
<!-- Video locale o altro -->
|
||||||
<video controls width="100%" height="100%" style="border-radius: 8px;">
|
<?php
|
||||||
<source src="<?php echo htmlspecialchars($lesson['video_url']); ?>">
|
// 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.
|
Il tuo browser non supporta il tag video.
|
||||||
</video>
|
</video>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|||||||
Reference in New Issue
Block a user