2017-08-21 3 views
0

Je cherche un moyen de protéger mes vidéos autres que DRM, donc j'essaie d'utiliser des sessions au lieu du lien direct pour la vidéo, puis je vérifie et si la session est vraie, je lance la vidéo avec fopen/readfile().Puis-je utiliser readfile() avec des vidéos en PHP?

Mais la vidéo ne peut pas être la graine, il fonctionne tout simplement dans le temps de la vie comme dans cet exemple:

Here is a link from the site I work on.

Puis-je utiliser quelque chose pour le rendre analysable?

$file = base_path(). '/uploads/test.mp4'; 

    $size = File::size($file); 
    $myfile = fopen($file, 'rb'); 

    echo fread($myfile, $size); 
+0

Une meilleure façon est d'utiliser route pour diffuser la vidéo et l'utiliser –

+0

Et comment est-ce? –

+0

Il suffit de créer un itinéraire et d'y insérer votre code de récupération de vidéo et d'appeler cette route dans votre '. Faites-moi savoir si vous avez besoin du code complet –

Répondre

0

Votre itinéraire comme:

Route::get('get-video/{videoName}', '[email protected]')->name('getVideo'); 

Votre code de commande comme:

public function getVideo($videoName) 
{ 

    $fileContents = Storage::disk('local')->get("uploads/".$videoName); 
    $response = Response::make($fileContents, 200); 
    $response->header('Content-Type', "video/mp4"); 
    return $response; 
} 

Votre vue comme:

<video width="320" height="240" controls> 
     <source src="{{ route('getVideo', 'test.mp4') }}" type="video/mp4"> 
     Your browser does not support the video tag. 
</video> 

vous devez également ajouter ci-dessous la ligne dans votre fichier racine .htaccess:

AddType video/webm .webm 

REMARQUE: après ce changement encore face à vous délivrer alors audio besoin de mettre en dessous des lignes en .htaccess aussi:

Add type video/ogg .ogv 
Add type audio/ogg .oga 

J'espère que ce travail pour vous!

+0

@ahmedyasser: Cochez cette réponse et faites le moi savoir –

+0

Je viens d'écrire votre code dans mes fichiers de répertoire et [Voici le résultat] (http://www.okilyacademy.com/test/). le même problème est sur –

+0

Ok, étant donné '' 500 Internal Server Error'' signifie qu'il y a un problème au niveau du code. pouvez-vous s'il vous plaît le déboguer –