php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.03.2006, 13:10  
Gast
 
Beiträge: n/a
Standard Dms-Downloadfunktion Mit Firefox klappts... IE will nicht!!

Hallo

Ich bin grad kurz vorm Wahnsinn und hoffe, dass mir hier vielleicht jemand weiterhelfen kann.

Mal Situationsbeschrieb:
Ich muss gerade für 300 User ein Intranet (SSL geschützt) auf die Beine
stellen. Die Ansprüche der Firma sind eigentlich ziemlich einfach mit einer
GNU Groupware zu lösen. Die Entscheidung fiel auf PHPGROUPWARE.

Nur, entsprachen das Newssystem und das DMS halt mal wieder nicht den
Vorstellungen meiner Vorgesetzten. Bzw. den Ansprüchen der Firma.

In der alten (selbst gebastelten) Intranet Version hatte ich bereits ein GPL
DMS (MyDMS) integriert. Die Alte Version soll nun ersetzt werden, aber
das DMS hat gefallen.
Also habe ich aus MyDMS ein PHPGW Modul gebastelt. Die Variante auf
dem Testserver, hat auch tadellos funktioniert. Leider, stand mir da nur
mein Arbeitsclient mit Windows XP und meinem Apache zur verfügung.

Nun, auch die Variante auf dem Intranet-Webserver (Linux) funktioniert
im Prinzip ohne Probleme. Nur an einer Stelle happerts. Beim Download
und online Betrachten der Files. Mit Firefox funktioniert es ohne
Probleme... Nur IE ist scheinbar zu blöd dazu. Dann noch das beste am
ganzen... Wenn es sich bei der hochgeladenen Datei um ein Bild handelt,
dann ist auch IE wieder dazu in der Lage.


Nun... hier die eigentlichen Scripts. Die Funktionen führe ich vorläufig
nicht näher aus... Nehme nicht an, dass das Problem dort liegt.

Generieren des Download-Links:


PHP-Code:
print '<td>[url="index.php' $version->getURL().'?operation=Download&sessionid='.$_GET['sessionid'].'&documentid='.$documentid.'&version='.$version->getVersion().'"][img]out/images/download.gif[/img][/url]</td>'
Der dann ausgegebene Link sieht zB. dann so aus:
index.php/6/1/Organigramm.pdf?operation=Download&sessionid=f1581 7b42daa7e9ef2324fffcc6e8cea&documentid=6&version=1

Und hier nun dann der Relevante Teil vom download.php



PHP-Code:
$document getDocument($documentid);


if (
$document->getAccessMode($user) < M_READ)
{
    
printHTMLHeadgetMLText("download") );
    
printCenterStart();
    
printStartBox(getMLText("download"));
    print 
"<div class=\"standardText\">";
    
printMLText("operation_not_allowed");
    
printGoBack();
    print 
"</div>";
    
printEndBox();
    
printCenterEnd();
    
printHTMLFoot();
    exit;
}

$content $document->getContentByVersion($version);

if (
is_bool($content) && !$content)
    die(
"Version " $version " of Document \"" $document->getName() . "\" not found");

header("Content-Type: application/force-download; name=\"" $content->getOriginalFileName() . "\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " filesize($settings->_contentDir $content->getPath() ));
header("Content-Disposition: attachment; filename=\"" $content->getOriginalFileName() . "\"");
header("Expires: 0");
//header("Content-Type: " . $content->getMimeType());
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

readfile($settings->_contentDir $content->getPath());
exit(); 

Grüsse und Danke
Luki
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.03.2006, 17:11  
Gast
 
Beiträge: n/a
Standard

Zitat:
un, auch die Variante auf dem Intranet-Webserver (Linux) funktioniert
im Prinzip ohne Probleme. Nur an einer Stelle happerts. Beim Download
und online Betrachten der Files. Mit Firefox funktioniert es ohne
Probleme... Nur IE ist scheinbar zu blöd dazu. Dann noch das beste am
ganzen... Wenn es sich bei der hochgeladenen Datei um ein Bild handelt,
dann ist auch IE wieder dazu in der Lage.
Was passiert denn genau beim IE?
Soll/Ist-Stand bitte genauer beschreiben.

Zitat:
Content-Type: application/force-download
Interessanter MIME Type.

Zitat:
Content-Transfer-Encoding: binary
http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.4.5
Am besten nocheinmal alle Headers durchgehen und genau auf Konformität (ggf leider auch Reihenfolge) und Sinnhaftigkeit kontrollieren.
 
Alt 15.03.2006, 21:58  
Gast
 
Beiträge: n/a
Standard

Was genau Passiert, hätte ich ja am liebsten mit einem Link gezeigt...
Warum dies aber in diesem Fall nicht möglich ist, brauche ich ja nicht
näher zu erläutern...

Um genau zu werden.... Das Download php, holt den Originaldateinamen
aus der Datenbank.... Also an der Documentid. Wenn es sich eben um
ein Bild z.B. Jpeg handelt, klappt dies ohne weiteres.... In allen anderen
Fällen, Klappt genau dies nicht und es wird genau die URL in der
Adresszeile angesteuert... Logischerweise, gibts die nicht und die
Meldung ist einfach, dass die Datei nicht auffindbar seie....
Die Datenbank habe ich ziemlich genau unter die Lupe genommen, habe
aber effektiv keine wirklichen unterschiede gesehen. (Abgesehen von den MIME Types natürlich).

Nun ja, ich werde mir die Headers morgen im Büro etwas genauer unter
die Lupe nehmen, jedoch habe ich diese im Script nicht verändert.
Genau da wirds ja erst lustig.... Am liebsten würde ich es mal standalone
testen, aber ohne Einbindung in PHPGW funktioniert das ganze ja
inzwischen gar nicht mehr....

Hatte gehofft, dass jemand nen richtig Idiotischen Fehler entdeckt...


Danke schon mal.... ich werde Mir dsie Headers mal anschauen. Sonst ists
ja vielleicht sogar PHPGW selbst, was dem Prozess in de Quere kommt....

Andere Möglichkeit... wäre vielleicht auch die etwas eigensinnige
Konfiguration des Webserers... Ist ein Buissness Server... Dinge wie IMAP
oder POP sind z.B. Laut webfirma völlig unmöglich... (Aus
Sicherheitsgründen würden sie dafür einen eigenen Server empfehlen...)
BZW von mir wurde der höchst mögliche Sicherheitsstandard gefordert.
EVTL.. Ists ja genau da... Ich schau mal..

Danke und Grüsse
Luki
 
Alt 15.03.2006, 23:05  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Luki
Logischerweise, gibts die nicht und die
Meldung ist einfach, dass die Datei nicht auffindbar seie....
Das ist ein bekannter Bug beim IE, der bei Downloads unter Verwendung von
Cache-Control: no-cache in Verbindung mit SSL auftritt.

Entferne die beiden diesbezüglichen Header:
Zitat:
Zitat von Luki
PHP-Code:
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache"); 
Wenn Zwischenspeichern in jedem Fall unterbunden werden muss, lassen
sich - vielleicht - Alternativen finden. Dafür dann einfach einmal Google
bemühen...
 
Alt 16.03.2006, 12:29  
Gast
 
Beiträge: n/a
Standard

@karl-150

Vielen Dank auch dir... hab mich schon gefreut, als ich deinen Post gesehen hab,
dass es damit bestimmt gelöst sein wird.... Hab jetzt ein wenig gestestet und leider klappts auch so nicht.

Nachster Versuch:
Ich knall jetz mal ne Standalone Version von MyDMS auf den Server und je nach
dem ob diese funkjtioniert oder nicht, muss mis mal die Includes von PHPGW
genauer unter die Lupe nehmen oder die Webfirma kontaktieren und mal schauen.

Grüsse
Luki
 
Alt 16.03.2006, 13:00  
Gast
 
Beiträge: n/a
Standard

Volltreffer...

Genau diese zwei Header werden auch bei PHPGW verwendet.
Dann danke ich vielmals. Mein Problem ist somit gelöst.

Und falls jemand von euch daran interresiert sein sollte,... Sobald das
DMS soweit ausgetestet wurde, gibts das Modul natürlich zum Download.
:wink:

Grüsse und vielen Dank
Luki
 
 


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
Firefox / IE - ungeahnte Statistik pepe24 Off-Topic Diskussionen 10 30.04.2007 16:46
Firefox will mein 3-spaltiges Layout mit Footer nicht (CSS)! vampsoftchef HTML, Usability und Barrierefreiheit 1 28.02.2007 00:22
templates oder css mit firefox rbs_phoenix HTML, Usability und Barrierefreiheit 1 30.10.2006 15:24
[Erledigt] window.location.href mit firefox HTML, Usability und Barrierefreiheit 15 18.11.2005 17:49
window.open mit firefox HTML, Usability und Barrierefreiheit 3 14.11.2005 17:04
Problem mit Firefox Diego1978 HTML, Usability und Barrierefreiheit 9 11.09.2005 21:17
[Erledigt] shiftKey bei Firefox abfragen HTML, Usability und Barrierefreiheit 2 05.08.2005 15:08
Problem mit PFad Firefox - Verzeichnis löschen PHP Tipps 2005-2 0 19.07.2005 16:05
Deer Park Alpha 1 (=Mozilla Firefox 1.1) Off-Topic Diskussionen 15 09.07.2005 02:32
[Erledigt] verfluchter Firefox HTML, Usability und Barrierefreiheit 5 08.07.2005 22:51
RGB im IE anders als im Firefox ! Cyberbob_at_tot HTML, Usability und Barrierefreiheit 9 29.06.2005 17:47
[Erledigt] Script Interpretaion läuft falsch im Firefox PHP-Fortgeschrittene 23 11.05.2005 19:01
FireFox :: php.net als Suchmaschine Guradia Off-Topic Diskussionen 14 07.12.2004 13:29
Firefox hui, IE pfui!!?? Calexico HTML, Usability und Barrierefreiheit 12 04.12.2004 03:24
Browser FireFox --hast du das gewusst?? Off-Topic Diskussionen 11 23.09.2004 19:09

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
internetexplorer ist nicht verbunden mit firefox klappts, problem ie 6 header php downloadfunktion, mit php ausgegebene verlinkungen in internet explorer, dms php, php dms, firefox application/force-download, php groupware dms, dms mit firefox, dokumenten management firefox, php download problem mit ie wegen ssl, im dms linux download, window.open pdf im ie wird nicht dargestellt, downloadfunktion fuer xp geht nicht, firefox downloadfunktion

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:18 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.