php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.04.2005, 04:07  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard Problem: Cannot modify header information

Hi

Ich habe ein Problem,

meine gesteuerte Ausgabe einer test-datei bringt mir immer
folgende fehlermeldung:

Warning: Cannot modify header information - headers already sent by (output started at C:\tecbase\test\throttle.php:1) in C:\tecbase\test\throttle.php on line 5

Warning: Cannot modify header information - headers already sent by (output started at C:\tecbase\test\throttle.php:1) in C:\tecbase\test\throttle.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at C:\tecbase\test\throttle.php:1) in C:\tecbase\test\throttle.php on line 7

Warning: Cannot modify header information - headers already sent by (output started at C:\tecbase\test\throttle.php:1) in C:\tecbase\test\throttle.php on line 8

Warning: Cannot modify header information - headers already sent by (output started at C:\tecbase\test\throttle.php:1) in C:\tecbase\test\throttle.php on line 9

Warning: Cannot modify header information - headers already sent by (output started at C:\tecbase\test\throttle.php:1) in C:\tecbase\test\throttle.php on line 10

ich hab schon in mehreren foren geblättert, aber nix gescheites gefunden. es wird meist gesagt dass keine ausgaben oder änliches vor den header folgen dürfen, dass sollte im folgenden auch nicht der fall sein.

hier mal das komplette script

Code:
 <? 
function download($file, $throttle) 
{ 
	flush();
    header("Content-Type: application/octet-stream"); 
    header("Content-Disposition: attachment; filename=\"$file\""); 
    header('Cache-Control: no-cache'); 
    header('Pragma: no-cache'); 
    header('Expires: 0'); 
    header('Content-Length: '.(string)(filesize($file))); 
	$fp=fopen($file,'r'); 
        while(!feof($fp)) 
        { 
            $buffer = fread($fp, 1024*$throttle); 
            sleep(1);
            print $buffer; 
        } 
    fclose($fp); 
    header ("Connection: close"); 
} 

$throttle = 2; // kb/s 
$file="test.mp3";
download($file, $throttle); 
?>
wer hat schon erfahrung mit solchen sachen und kann mir da weiterhelfen?

danke schon mal im Vorraus.
__________________
Alpha Centauri ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 24.04.2005, 07:20  
Gast
 
Beiträge: n/a
Standard

hast du alle leerzeilen oben aus deinem script enfernt?
 
Alt 24.04.2005, 09:59  
Erfahrener Benutzer
 
Registriert seit: 30.01.2005
Beiträge: 435
Jojo1
Standard

kein html oder sonstwas obendrüber?
Jojo1 ist offline  
Alt 24.04.2005, 10:07  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

was bitte soll das flush dort?
flush();

www.php.net/flush
-> nachlesen was es tut :P

mfg
robo47
robo47 ist offline  
Alt 24.04.2005, 10:08  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

abgesehen davon, sollte dir klarsein, dass die max-execution und ich glaub sogar max_input_time dabei so hoch sein müssen wie lange das script läuft!!!! -> 1mb-file
= 1024 kb = 512 sekunden !!!!!!

mfg
robo47
robo47 ist offline  
Alt 24.04.2005, 11:29  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Soll da mit
PHP-Code:
<?
printf $buffer
;
?>
vielleicht was ausgegeben werden?
Also or dem
PHP-Code:
<?
Header 
("Connection: Close");
?>
Wozu soll der Header-Eintrag _nach_ der Übertragung eigentlich gut sein?
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 25.04.2005, 02:04  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

ich hätte es wohl mal ins Profiforum stellen sollen?

das programm dien dazu , eine übertragung downloadbegrenzt zu übertragen. deshalb ist die printausgabe vor header ("Connection: close");
aber dass spielt auch keine rolle, es funktioniert weder mit weggelassenen flush() noch ohne dem close oder überhaupt irgendwie. es sind auch kleine anderen sachen ausgegeben wurden oder irgenwelche zeichen drin. dass skript iss übrigens komplett, so wie es da oben steht.

ich suche einen profie, der mit solchen sachen schon erfahrung hat.

ps: spasshalber könnt ihr mal die fehlermeldung:

Warning: Cannot modify header information - headers already sent by

..bei google eingeben. ihr werdet sehen, dass der fehler ein massenproblem iss , aber keiner ne wirkliche lösung hat.

ihr könnt auch mal den quellcode kopieren.

so ich schau mal ob ich irgendwas finden kann..


good night!
__________________
Alpha Centauri ist offline  
Alt 25.04.2005, 03:00  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Alpha Centauri
ich hätte es wohl mal ins Profiforum stellen sollen?
ne, keine sorge, du bist hier schon ganz richtig.

Zitat:
Zitat von Alpha Centauri
das programm dien dazu , eine übertragung downloadbegrenzt zu übertragen. deshalb ist die printausgabe vor header ("Connection: close");
wenn du das in deutsch nochmal wiederholen koenntest...
ich glaube du hast keine ahnung, wie das Hypertext Transfer Protocol funktioniert. Erst kommt der Header, dann der Content. Voellig egal, was Du uebertragen willst, und welche Uebertragung Du wie uebertragend begrenzen willst oder sonstwas. Weg damit.

Zitat:
Zitat von Alpha Centauri
aber dass spielt auch keine rolle, es funktioniert weder mit weggelassenen flush() noch ohne dem close oder überhaupt irgendwie. es sind auch kleine anderen sachen ausgegeben wurden oder irgenwelche zeichen drin. dass skript iss übrigens komplett, so wie es da oben steht.
in zeile eins wird irgendwas uebertragen. zum beispiel ne leerzeile oder nen leerzeichen vor den php-tags. ab und zu ist es auch ein bom. such mal danach hier im board, du wirst fuendig werden.

Zitat:
Zitat von Alpha Centauri
ich suche einen profie, der mit solchen sachen schon erfahrung hat.
und die haben keine lust auf solchen kinderkram, glaub mir.

Zitat:
Zitat von Alpha Centauri
ps: spasshalber könnt ihr mal die fehlermeldung:

Warning: Cannot modify header information - headers already sent by

..bei google eingeben. ihr werdet sehen, dass der fehler ein massenproblem iss , aber keiner ne wirkliche lösung hat.
wenn du spasseshalber das mal hier in der forumsuche eingegeben haettest, haettest du auch gesehen, dass das ein massen- und vor allem, sorry, newbieproblem is. also. mach die augen auf...
__________________
Was ist validität?
fantast ist offline  
Alt 25.04.2005, 04:30  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

die feststellung von unkenntniss anderer führt hier doch nicht weiter.

Zitat:
wenn du das in deutsch nochmal wiederholen koenntest...
ich glaube du hast keine ahnung, wie das Hypertext Transfer Protocol funktioniert. Erst kommt der Header, dann der Content. Voellig egal, was Du uebertragen willst, und welche Uebertragung Du wie uebertragend begrenzen willst oder sonstwas. Weg damit.
aha schlaue feststellung, willst du jetzt ein wissensvergleich machen?
ich denke eher dass du keine ahnung hast von dem, was du schreibst, wenn du es schreibst und höstwarscheinlich nicht warum du hier bist.

so! damit habe ich mal ne plumpe behautung gemacht.



Zitat:
und die haben keine lust auf solchen kinderkram, glaub mir.
ne glaub ich nicht! Versuch doch nicht leute für deine einseitige meinung zu gewinnen, 'die' sind alt genug und wissen wann und was man ins forum schreibt.
ausserdem klingt es nicht überzeugent. ich denke eher es liegt daran, dass sich die meisten damit nicht auskennen. damit habe ich auch kein problem.

warum schreibst du überhaupt sowas hier rein?

willst du dich von andern abheben. so verhalten sich nur teenies, aber keine profies. also antworte lieber nicht auf die frage.
ich wollte eigentlich nur ne fachdisskussion. und nicht ständig kommentare wie.. unnwissend man doch sei.. und den ganzen kram. ich glaube, dass du überhaupt nicht einschätzen kannst was der andere denkt. Wenn du mich schon überzeugen willst, dann fang doch mal ein dialog an.
vieleicht kommen wir mal zum punkt.
wenn du versuchst dich abzugrenzen , werden wir keinen dialog führen können. bleib also mal auf den teppich
__________________
Alpha Centauri ist offline  
Alt 25.04.2005, 04:55  
Gast
 
Beiträge: n/a
Standard

Hi,

es wurde eigentlich schon alles gesagt.

Nochmal: Da ist ein Leerzeichen vor den PHP-Tags, dann noch weg mit dem flush(), und Schwuppdiwupp läuft Dein Skript.
PHP-Code:
[color=red]_[/color]<? // <- Leerzeichen raus!!!
function download($file$throttle

    
#flush();
//...
Grüße
 
 

« POST | Liga Script »

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
Fehler: header information Arguss PHP Tipps 2008 7 30.07.2008 18:35
header Problem Shyne PHP Tipps 2008 9 18.02.2008 08:55
problem bei sessions in komb. m. cookies. header umgehen? Promaetheus PHP Tipps 2006 10 02.05.2006 15:52
Cannot modify header..... PHP Tipps 2005 17 02.05.2005 14:44
Cannot modify header information PHP Tipps 2004-2 6 05.12.2004 19:37
problem mit header PHP Tipps 2004 16 20.10.2004 13:57
problem mit header PHP Tipps 2004 4 06.10.2004 17:19
admincontrolpanel: Cannot modify header information ? phpfortgeschrittener PHP Tipps 2004 2 23.08.2004 19:17
[Erledigt] ZIP Download - Header Problem PHP-Fortgeschrittene 1 19.08.2004 02:41
header ("location: ") Problem PHP Tipps 2004 3 18.08.2004 12:03
header problem PHP Tipps 2004 8 08.08.2004 00:35
Warning: Cannot modify header... einbinden nicht möglich? PHP Tipps 2004 2 07.08.2004 15:06
Cannot modify header information - headers already sent by PHP Tipps 2004 2 25.07.2004 19:40
Warning: Cannot modify header information PHP Tipps 2004 8 22.07.2004 00:50
Problem mit header() PHP Tipps 2004 6 13.06.2004 16:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
modify headers funktioniert nicht, modify headers geht nicht, cannot modify header information, html header caching attachment .net, php flush header, modity headers geht nicht, php cannot modify header information, php flush cannot modify header information, php script flush header preoblm, modify headers not working, modify header probleme, php header connection close, php header close, php header expires unable, datei download cannot modify header information, php datei download cannot modify header information, headers already sent ob flush, headers already sent flush, zend framework test \cannot modify header information - headers already sent by\, php dateidownload cannot modify header information

Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 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.