Du bist nicht angemeldet.

1

21.07.2012, 00:28

Video downloaden

Ich würde gerne ein Video (.avi), das ich aufm Webspace hab, über ein PHP-Script runterladen lasse. Dafür Passwortabfrage und so.
Es funktioniert so halb. Er läd eine AVI-Datei runter, allerdings ist diese nicht abspielbar und deutlich kleiner (knapp 200KB) als das Orginal (knapp 1GB).

Dafür habe ich folgenden Code geschrieben:
http://pastebin.com/xCaSS3hd

Allerdings, wie gesagt, funktioniert er nicht. Hoffe ihr könnt mir helfen :)

2

21.07.2012, 13:11

Ich habe da einen verdacht, weil du den ganzen Mist in einer File handhabst:

1. Die gedownloadete File ist ein HTML-Dokument (öffne es mal mit nem Texteditor)

2. Du verwendest kein Output-Buffering (Genau deswegen wird HTML dort ausgegeben)

3. Deine Video-File wird nicht richtig ausgegeben/gelesen

3

21.07.2012, 16:36

So, ich hab nun mal des Script "korrigiert".
Bei mir funktioniert dies einwandfrei.

Hier die Source:
http://scripts.knugle.de/intern/dl/archive.tgz

Was mir aufgefallen ist:
1. Du kannst bei "isset" nicht noch gleichzeitig den Inhalt der Variable abfragen!
isset gibt ausschließlich TRUE oder FALSE zurück!

Deshalb:

PHP-Quelltext

1
2
3
4
5
// FALSCH
if(isset($_GET['action']) == "do_download") {

// RICHTIG
if(isset($_GET['action']) && $_GET['action'] == "do_download") {


2. Arbeite an der Validität.
- Du hast den Doctype falsch angegeben
- Du hast die Tabelle nicht richtig geschlossen

3. Du nutzt sachen, die nicht Existieren.

PHP-Quelltext

1
2
3
4
5
// FALSCH
error_reporting(ALL);

// RICHTIG
error_reporting(E_ALL);


4. Funktion/methode "formularAnzeigen" unsinnig
Die Methode benötigst du eigendlich garned. Alles was über PHP verarbeitet wird, wird meist als erstes durchgelaufen - erst DANN wird des HTML-Zeugs ausgegeben.
Genau hier lag auch dein Problem beim Download.. Neben der eigendlichen Datei hast du auch Teile des HTML-Dokuments zum download angeboten.

Ich hoffe, du fasst meins nicht als Böswillig auf - Sehe es als Tipps an, damit du später diese einfachen Fehler ggf. umgehen kannst :)

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Pwned

4

21.07.2012, 19:15

Vielen Dank für die Verbesserung. Klappt nun super.

Ich fasse es keinesfalls als böswillig auf, ich hatte ja nach Hilfe gefragt. Ich bin erst im Anfangs-Stadium von PHP, was man sicher gemerkt hat.

Jedenfalls nochmal vielen dank.

#Vote4Close ;)