php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.05.2007, 11:04  
Erfahrener Benutzer
 
Registriert seit: 19.08.2003
Beiträge: 141
PHP-Kenntnisse:
Fortgeschritten
niffi
Standard Problem bei Dateidownload via PHP Script

Hallo zusammen,

ich hab ein kleines Problem, vielleicht kann mir ja jemand helfen.

Problem: Um meinen Traffic zu schonen will ich vermeiden das URLs zu Videodownloads weitergegeben werden, deshalb soll der Download nur noch für eingeloggte User sein und dieser dann via Script starten, so dass eben keine URL mehr kommuniziert wird.

Lösen wollte ich es mit einem Script welches ich im Web gefunden habe. Es klappt zwar relativ gut, nur werden die Files nicht komplett geladen, sprich eine 370 MB Datei hört bei 310 oder 290 MB einfach auf. Dementsprechend ist der Download auch nicht erfolgreich.

Was mache ich falsch?

Ich wollte es so lösen: der Link zum Download öffnet ein PopUp dem ich die Werte der UserID, einem aktuellen Zeitstempel und der VideoID übergebe. Der Zeitstempel dient nur dazu einzuschränken, das niemand nach 120 Sekunden den gleichen Link nochmal nutzen kann, wenn er versucht diesen herauszubekommen. Die UserID brauch ich nur zum Speichern, damit ich weiß wer den File gesaugt hat und die VideoID spricht für sich selbst.

PHP-Code:
<?php
    $vid 
$_GET['vid'];
    
$time $_GET['t'];
    
$uid $_GET['uid'];
    
    if(!
is_numeric($vid) || !is_numeric($time) || !is_numeric($uid))    {
        echo 
'Es ist ein Fehler aufgetreten.
Bitte versuche es erneut!'
;
        die();
    }
    else    {
        include(
'includes/config.php');
            
$sql "select v_link from videos WHERE v_id='".$vid."'";
            
$ausgabe mysql_query($sql);
            
$data mysql_fetch_array($ausgabe);
            
            
$link_url $data[0];
            
$time $time+120;
            
$time_check time();
            if(
$time $time_check)    {
            
                
$tstamp time();
                
$insert 'INSERT INTO video_downloads (VIDEO_ID,USER_ID,TSTAMP) VALUES ("'.$vid.'","'.$uid.'","'.$tstamp.'")';
                
$query mysql_query($insert);
            
                
$uid "";
                
$time "";
                
                
$eingang = array("http://","","/","videos");
                
$ausgang = array("","","","");
                
$datei str_replace($eingang,$ausgang,$link_url);
                            
                
header("Content-Type: application/octet-stream");
                
//header("Content-Length: ".filesize($datei));
                
header("Content-Disposition: attachment; filename=\"".$datei."\"");
                
$link_prefix "http://".$link_url;
            }
            else    {    
                
$link "";
                echo 
'Es ist ein Fehler aufgetreten.
Bitte versuche es erneut!'
;    
            }
    }            
?>
Kann mir einer helfen? Ein Scriptfehler?
niffi ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.05.2007, 11:48  
Erfahrener Benutzer
 
Registriert seit: 19.08.2003
Beiträge: 141
PHP-Kenntnisse:
Fortgeschritten
niffi
Standard

Also ich hab mittlerweile erlesen können das readfile() für solche großen Dateien eh ungeignet ist, also muss ich mir was anderes einfallen lassen, oder hat jemand eine Lösung parat?
niffi ist offline   Mit Zitat antworten
Alt 01.06.2007, 09:31  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

file_get_contents( $filename );

damit hab ich es gelöst
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline   Mit Zitat antworten
Alt 01.06.2007, 10:19  
Erfahrener Benutzer
 
Registriert seit: 19.08.2003
Beiträge: 141
PHP-Kenntnisse:
Fortgeschritten
niffi
Standard

und mit welchen dateigrößen hast du da gearbeitet?
niffi ist offline   Mit Zitat antworten
Alt 01.06.2007, 10:33  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

mhmm

Kann ich dir nicht mehr sagen, hab es früher mal gebraucht.

Teste es einfach mal

Ansonsten hast du noch die möglichkeit mit file() und dann
PHP-Code:
echo implode(''file$filename ) ); 

Aber ungetestet
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline   Mit Zitat antworten
Alt 01.06.2007, 11:04  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Hmm ... vielleicht funktioniert es auch per fread gewissermaßen in kleinen Häppchen zu schicken. ^^
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline   Mit Zitat antworten
Alt 01.06.2007, 11:50  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

In welchem Teil deines Skriptes lädst du überhaupt die Datei? Du sendest den header() aber keinen Body .. (oder is noch zu früh am Tag für mich heute?)
Zergling-new ist offline   Mit Zitat antworten
Alt 01.06.2007, 19:39  
Erfahrener Benutzer
 
Registriert seit: 19.08.2003
Beiträge: 141
PHP-Kenntnisse:
Fortgeschritten
niffi
Standard

Zitat:
Zitat von Zergling
In welchem Teil deines Skriptes lädst du überhaupt die Datei? Du sendest den header() aber keinen Body .. (oder is noch zu früh am Tag für mich heute?)
sorry hatte de code nicht komplett hier gepostet.

PHP-Code:
header("Content-Type: application/octet-stream");
                
//header("Content-Length: ".filesize($datei));
                
header("Content-Disposition: attachment; filename=\"".$datei."\"");
                
$link_prefix "http://".$link_url
                
readfile($link_prefix); 
niffi ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Statistik Script Referrer Problem 7Style PHP Tipps 2008 28 01.07.2008 15:14
Problem mit php script Jelko PHP Tipps 2008 2 19.08.2007 23:28
Problem mit einem Script wo ich ned weiterkomme MatthiasNI PHP Tipps 2006 3 14.10.2006 17:35
Problem mit einem Script PHP Tipps 2007 7 28.11.2005 16:37
Script Problem PHP Tipps 2007 3 28.11.2005 10:45
Problem mit Login Script PHP Tipps 2007 4 15.11.2005 17:29
Problem mit simplen Script Kori PHP Tipps 2005-2 7 07.10.2005 13:35
Problem mit Script zur Dateiauflistung PHP Tipps 2005-2 3 24.06.2005 16:12
kleines Problem mit Script renzo PHP Tipps 2005-2 7 16.06.2005 09:11
Insert Script Problem PHP Tipps 2005 11 08.04.2005 20:53
Problem mit Script PHP Tipps 2004 4 27.08.2004 01:36
Termin Script Problem PHP Tipps 2004 16 16.08.2004 08:35
Problem beim Upload mehrerer Dateien per Script PHP Tipps 2004 1 04.08.2004 16:26
Script Problem: parse error unexpected $end PHP Tipps 2004 5 02.08.2004 13:25
delete script problem PHP Tipps 2004 5 23.07.2004 14:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php dateidownload, php dateidownload script, dateidownload php, dateidownload mit php, php datei download script, php datei download, dateidownload per php, dateidownload php geht nur bei mir, php script datei download, php download script readfile filesize probleme, download php fehler, download via php, php download hört auf, download script funktioniert nicht, http://www.php.de/php-fortgeschrittene/44125-problem-bei-dateidownload-via-php-script.html, php skript dateidownload, dateidownload php sql, download hört einfach auf readfile php, dateidownload script php, php datei download problem

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:12 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.