SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 26.10.2006, 21:47:26
brooklyn brooklyn ist offline
Anfänger
 
Registriert seit: Oct 2006
Beiträge: 15
Korrupter Download

Moin,

Ich habe da mal 'ne Frage:
Ich habe mir ein kleines Downloadscript zurechtgemacht und im Grunde funzt es auch. Nur wenn der Download beim User ankommt, scheint irgendetwas nicht mehr zu stimmen. Bei .mp3 - Files quittiert VLC seinen Dienst mit "Unrecognized format for 'C:\Dokumente und...blah" und bei .exe - Files öffnet sich die DOS-Box kurz und schliesst sich danach wieder.
Was kann hier nicht stimmen (bin wirklich schon alle Foren durch...)?
PHP-Code:
<?php
include("var.inc.php");
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: private");
  
$ur "/downloads/download.php?code=";
$db=mysql_connect($db_host$db_login$db_pwd);
$q=mysql_select_db($db_name$db);

$result mysql_query("SELECT code, dl_link FROM download WHERE code = ".$code."");

while (
$data mysql_fetch_array($result))
{
 
$code=$data['code'];
 if (
$_SERVER['REQUEST_URI'] == $ur.$code)  
  {
  
$name=$data['dl_link'];

// Tatsächlicher Pfad
  
$SRC_FILE $name;
  
$download_size filesize($SRC_FILE);
  
$filename basename($SRC_FILE);
    
  
header("Content-Type:application/x-download");
  
header("Content-Disposition: attachment;filename=".str_replace(" """,($filename).""));
  
header("Accept-Ranges: bytes; binary");
  
header("Content-Length: ".$download_size); 
  
readfile($filename);
  } else { 
  echo 
"<br><br><center>Download momentan nicht verfügbar</center>"
  }
}
mysql_close($db);
?>
Bin für jeden Tip dankbar...

MfG J.
Mit Zitat antworten
  #2  
Alt 29.10.2006, 07:56:51
iRadiaX iRadiaX ist offline
Anfänger
 
Registriert seit: Oct 2006
Ort: Essen
Alter: 31
Beiträge: 13
iRadiaX eine Nachricht über ICQ schicken iRadiaX eine Nachricht über MSN schicken
AW: Korrupter Download

Hi brooklyn!

Wie groß sind die Dateien, wenn sie heruntergeladen wurden? Ich habe den Verdacht, dass sie leer sind, dadurch werden .exe-Files (sind es Windows-Applikationen oder DOS-Applikationen?) nicht korrekt abgerufen und MP3-Files können nicht abgespielt werden.

Wie sieht die Spalte dl_link in der Datenbank aus bzw. was beinhaltet sie?

LG, iRadiaX
__________________
FilePot.de
Mit Zitat antworten
  #3  
Alt 29.10.2006, 08:32:06
ltb ltb ist offline
Anfänger
 
Registriert seit: Jan 2006
Ort: graz / austria
Beiträge: 22
AW: Korrupter Download

PHP-Code:
header("Content-Type:application/x-download"); 
  
header("Content-Disposition: attachment;filename=".str_replace(" """,($filename)."")); 
  
header("Accept-Ranges: bytes; binary"); 
  
header("Content-Length: ".$download_size);  
  
readfile($filename);
  exit; 
das exit am ende fehlt ... sonst hängt er immer das restliche skript mit an die datei.

teste das einfach mit einem .txt file ..
Mit Zitat antworten
  #4  
Alt 29.10.2006, 08:44:02
iRadiaX iRadiaX ist offline
Anfänger
 
Registriert seit: Oct 2006
Ort: Essen
Alter: 31
Beiträge: 13
iRadiaX eine Nachricht über ICQ schicken iRadiaX eine Nachricht über MSN schicken
AW: Korrupter Download

Was für ein restliches Script? Wenn die Datei verfügbar ist, dann wird der Inhalt der Datei geparsed und die MySQL-Verbindung wird geschlossen. Es wird nur eine Ausgabe gemacht, wenn ein Fehler in mysql_close() ist ;)

LG, iRadiaX
__________________
FilePot.de
Mit Zitat antworten
  #5  
Alt 30.10.2006, 20:02:21
brooklyn brooklyn ist offline
Anfänger
 
Registriert seit: Oct 2006
Beiträge: 15
AW: Korrupter Download

Hi!

Und "Danke" für die Antworten. Ich habe mich jetzt für die "Quick and Dirty-Version" entschieden:

PHP-Code:
<?php
include("var.inc.php");
  
$ur "/downloads/download.php?id=";
$db=mysql_connect($db_host$db_login$db_pwd);
$q=mysql_select_db($db_name$db);

$result mysql_query("SELECT id,dl_link FROM download WHERE id=".$id."")
or die(
mysql_error());

while (
$data mysql_fetch_array($result))
{
 
$id=$data['id'];
 if (
$_SERVER['REQUEST_URI'] == $ur.$id)  
  {
  
$name=$data['dl_link'];

  
$SRC_FILE $name;
  
header("Location:".$SRC_FILE); 
  } else { 
  echo 
"<br><br><center>Download momentan nicht verfügbar</center>"
  }
}
mysql_close($db);
?>
Ich habe natürlich ltb's Vorschlag einmal ausprobiert, es brachte aber auch kein zufriedenstellendes Ergebnis.
Tatsache ist, dass die Dateigrösse der Speichergrösse des Strings entsprach mit dem Sie übergeben wurde. Dadurch wurden sie auch nicht korrekt wiedergegeben...
Die Spalte in der DB ist varchar(100) NOT_NULL.
Die jetzige Lösung ist vielleicht nicht unbedingt valides Xhtml oder wie das auch immer heisst, aber wenn man keine Kneifzange hat, tut's auch der Seitenschneider...
Die DL's werden jetzt jedenfalls in beiden grossen Browsern (IE und FF) Fehlerlos ausgeliefert und das ist mein Hauptziel für das Script gewesen. Ich lasse es ersteinmal so laufen und mache mich jetzt an eine Adminoberflächefür die DB.

Gruss brooklyn!

Geändert von brooklyn (30.10.2006 um 20:03:12 Uhr) Grund: Gruss Vergessen!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Download mit Code versehen jonne PHP Entwicklung und Softwaredesign 4 15.05.2006 14:55:32
PEAR Download Opendix PHP Grundlagen 0 30.11.2005 22:22:27
Download begrenzen khm PHP Grundlagen 1 12.12.2004 13:38:40
autom. Download jony PHP für Fortgeschrittene und Experten 1 13.04.2004 20:22:48
File Download snoopy2004 PHP Grundlagen 1 26.01.2004 22:33:18


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:59:29 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt