• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Vor Auslieferung einer Datei auf DB-Eintrag prüfen

Den Quellcode dafür hatte ich dir oben bereits geschrieben. Du musst diese PHP-Datei per video-Element einbinden.
 
Aber wie soll ich die Datei denn dann im Flowplayer wiedergeben? Der erfordert doch die Einbindung des Videos folgendermaßen:

HTML:
<script src="flowplayer-3.2.11.min.js"></script>
<a 
	href="video-datei.flv" 
	style="display:block;width:700px;height:394px;" 
	id="player">
</a>
<script language="JavaScript">
	flowplayer("player", "flowplayer-3.2.15.swf");
</script>

Ich weiß einfach nicht wohin mit dem <video .... >!
 
Dass Du den flowplayer verwendest war mir nicht bewusst. Allerdings wirst Du in dem Fall das Video nur abspielen können, wenn Du es im FLV-Format vorliegen hast. Sollte es so sein musst Du in deinem Code-Schnippsel nur "video-datei.flv" durch den Namen der PHP-Datei zur Wiedergabe ersetzen.
 
Das habe ich ja schon gemacht. Ohne den mitgesendeten header (video/flv) via PHP kam die Datei im Hieroglyphen-Format und mit gesendetem header wurde sie je nach Browser zum Download angeboten, ohne dass ich überhaupt was von meiner video.php gesehen habe.
 
Also, nochmal langsam von vorne.

Ich habe alle flv/mp4/zip per htaccess für den direkten Zugriff gesperrt. Um die Videos in einer html-seite (im Prinzip nur html, hat aber natürlich die PHP-Endung da ja "technische" Überprüfungen stattfinden) in einem Player wiederzugeben, muss ich irgendetwas machen, um dem Player das Laden der Datei zu erlauben.
Ebenfalls muss ich einem Link erlauben, die Datei auszuliefern.
Die Überprüfung ist erfolgreich verbaut, nur wenn sie zutrifft, sendet PHP zu Beginn der Datei "header("Content-type: video/flv");" und dieses hier:
PHP:
	$getvideofileforplayer = fopen("video.flv", "rb");
	rewind($getvideofileforplayer);
	fpassthru($getvideofileforplayer);
um die entsprechende Videodatei zu laden.
Eingebunden - so wie flowplayer es erfordert - ist das Video dann so:
HTML:
<a 
	href="video.php" 
	style="display:block;width:700px;height:394px;" 
	id="player">
</a>
<script language="JavaScript">
	flowplayer("player", "flowplayer-3.2.15.swf");
</script>
Dies führt dazu:
Im Opera bekomme ich beim Klicken auf den Link zur video.php die flv-Videodatei als Download angeboten und im Firefox direkt durch ein Plugin im kompletten Fenster abgespielt. Das wird durch den mitgesendeten Header verursacht. Lasse ich diesen weg, sehe ich wieder meine video.php Datei, aber diese wird durch Hieroglyphen überflutet.

Das kann es doch nicht sein.
 
Ich hab die Vermutung, dass Du den flowplayer falsch eingebaut hast. Eigenschaft sollte eine swf, also Flash-Datei ausgegeben werden - nicht die FLV-Datei selbst. Und solange Du ein Flash-Plugin im Browser hast, muss das auch klappen. Es sei denn Du hast die swf-Datei nicht auch auf dem Server abgelegt.
 
Das mit der swf verstehe ich nun wieder nicht. Habe den Flowplayer zwei Jahre so genutzt und er hat alle Videos perfekt abgespielt. Dass es eine ältere Version des Flowplayer ist, weiß ich. Und dass ich die verwende und nicht eine neuere, hat seine Gründe.

Da ich aber hier nicht weiterkomme und dieses "Sicherheitsupdate" dringend und unbedingt benötige, landet meine Anfrage nun in der Jobbörse hier im Forum. Hiermit bedanke ich mich bei Dir für die Unterstützung.

Gruß
 
Hallo,

ich wollte nur kurz Rückmeldung geben, woran es gelegen hat.

Hatte den Code, durch den die auszugebende geschützte Datei von PHP geöffnet wird, in der gleichen Datei drin, in der auch der restliche HTML-Code etc. war. Deswegen hat das Einbinden dieser video.php im Flowplayer oder auch als Link nicht geklappt.

Falls jemand ähnliches Problem hat, für den kopiere ich einfach mal meine Codesnippets rein. Diese enthält btw meine Überprüfung auf Rechtmäßigkeit des Zugriffs.

video.php:
PHP:
if(!empty($xxx) AND $status !== "inactive" AND $xxx !== 0) {

$video= video-file.flv;
$fsize=filesize($video);
if(isset($_GET['download'])) {
header('Content-Disposition: attachment; filename='.$video.'');
}
header('Content-Type: variabel');
header('Content-Length: ' . $fsize);
$file=fopen($video,'rb');
print(fread($file,$fsize));

} else { exit("<h1>You are not authorized to get this content.</h1>"); }

video.html:
HTML:
<a 
	href="video.php" 
	style="display:block;width:300px;height:400px;" 
	id="player">
</a>

Über $_get in der php-Datei und die Einbindung von video.php?video_1 lasse ich unterschiedliche Videos ausgeben. Das $_get download in der php-Datei nutze ich für Links, damit die Datei in diesem Fall nicht vom Browserplugin geöffnet wird.
Geil, wie das nun klappt. So sind die Files zum einen vom Direktzugriff per URL geschützt und zum 2. kann ich auch noch einstellen welche User sie überhaupt kriegen können. ;ugl
 
Zurück
Oben