Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Banana-Coding.com - Java Knuddels Emulator. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

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 ;)