 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
30.07.2008, 09:25
|
#1
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Wie kann man zuverlässig den MIME Type auslesen?
Hallo zusammen
Ich bin gerade über ein Problemchen gestolpert, das ich anfangs etwas belächelt habe, was sich aber als echte Paranuss herausgestellt hat.
Wie kann man von Dateien den MIME Type zuverlässig auslesen, wenn weder mime_content_type verfügbar, noch FileInfo auf dem Server installiert ist? Das bestimmen des MIME Typ anhand der Dateiendung ist zu vage und manipulierbar. Hat jemand 'nen Tipp für mich?
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
|
|
30.07.2008, 10:08
|
#2
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Ausser diesem Weg, den Ich in den Kommentaren gefunden habe, wüsste ich leider auch keinen:
PHP-Code:
<?php
if ( ! function_exists ( 'mime_content_type ' ) ) { function mime_content_type ( $f ) { return trim ( exec ('file -bi ' . escapeshellarg ( $f ) ) ) ; } }
?>
__________________
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
|
|
|
30.07.2008, 11:27
|
#3
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Hallo Andreas,
danke für deine Antwort. Das Problem daran ist nur, dass Funktionen wie exec() aus Sicherheitsgründen fast immer seitens der Provider unterbunden wird. 
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
|
|
30.07.2008, 14:11
|
#4
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
ist PECL nicht in PHP 5.2.2 integriert?
Es gibt wohl keine Alternative ausser eine händisch angelegte Datei zum Nachschlagen.
|
|
|
30.07.2008, 14:23
|
#5
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Hallo Steffen,
was meinst Du denn mit ...?
Zitat:
|
Zitat von steffenk
Es gibt wohl keine Alternative ausser eine händisch angelegte Datei zum Nachschlagen.
|
Meinst Du eine eigene MIME Type DB zum benutzen mit FileInfo?
Ich habe auf 3 unterschiedlichen Servern bei all-inkl geschaut, auf keinem ist die Klasse finfo oder die Funktion mime_content_type verfügbar. Von daher stellt sich mir das Problem, wie ich überhaupt die Dateien geöffnet bekomme um an den MIME Typ zu kommen.
Ich dachte schon an file_get_contents, weil das binary-safe ist, aber auf was soll ich im String vergleichen? 
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
|
|
30.07.2008, 14:45
|
#6
|
|
TP-Senior
Registriert seit: Oct 2006
Ort: Augsburg
|
Zitat:
Zitat von Rizzo
Von daher stellt sich mir das Problem, wie ich überhaupt die Dateien geöffnet bekomme um an den MIME Typ zu kommen.
|
Das ist ne gute Frage - Keine Ahnung  Aber solltest du es irgendwie hinbekommen - bzgl:
Zitat:
Zitat von steffenk
Es gibt wohl keine Alternative ausser eine händisch angelegte Datei zum Nachschlagen.
|
Ich als überaus faules Stück würde mir das händische anlegen mit der Datei /etc/apache2/mime.types (bzw. dem nicht-Suse Äquivalent) sparen!
__________________
quo errat demonstrator
|
|
|
30.07.2008, 16:22
|
#7
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
genau, so wie webdepp sagt - bestehende mime-Datei nehmen und die benutzen. das meinte ich.
Ausserdem würde ich mich mit all-inkl besprechen. Das so eine PECL-Funktion nicht verfügbar ist schränkt doch sehr ein.
|
|
|
30.07.2008, 17:26
|
#8
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Hmm, wirklich optimal ist das aber nicht. Auch wenn ich das vielleicht mit all-inkl klären kann, könnte das selbe Problem ja auch mal auf anderen Servern/anderen Provider auftreten, wo man weniger kooperativ ist. Schade das es keine andere Möglichkeit gibt, weil das wirklich manche Sachen arg einschränkt.
Mich wundert auch, dass die SPL da nichts nativ bietet. Mit der DirectoryIterator Klasse bekommt man ja eine ganze Menge Datei-Funktionalität mitgeliefert, aber den MIME auslesen geht auch hier nicht.
Naja, ich danke Euch jedenfalls für eure Antworten. 
Zumindest weiß ich nun, dass es scheinbar wirklich keinen Weg gibt so ein Problem zufriedenstellend zu lösen.
Gruß Andreas
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
|
|
01.08.2008, 14:09
|
#9
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Scheint fast so, als ob PHP meine verzweifelten Rufe erhört hat, weil heute PHP 5.3 Alpha angekündigt wurde und wie es scheint, wird ab 5.3 auch die FileInfo Erweiterung fester Bestandteil von PHP. Ebenfalls interessant wird sicherlich auch intl und SQLite3.
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
|
|
01.08.2008, 20:12
|
#10
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Also ich hab jetzt mit 5.2.6 auch eine kaputte Funktion imap_utf8. Mein Bugreport ist von dutzenden usern bestätigt worden, die alle meinen Workaround nutzen, nur die Herren vom Coreteam scheinen kein interesse zu zeigen.
Überhaupt wäre ich froh wenn die imap-Bibliothek mal fertiggestellt würde, nun muss ich stellenweise alles im Raw-Format machen, was einfach ätzend ist, erinnert mich an Byteschiebereien mit dem C64 
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| 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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:16 Uhr.
|
 |