Autor |
Nachricht |
punsk
Threadersteller
Dabei seit: 16.12.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Fr 16.12.2005 12:36
Titel Mime-Type wird beim Upload nicht richtig ermittelt |
|
|
Hallo!
Ich nutze eine HTML-Form, um Dateien via PHP auf den Server zu laden. Dies funktioniert bisher auch einwandfrei.
Ich will die Uploadmöglichkeiten aber auf PDF, TIFF, JPG und GIF beschränken. Für GIF und JPG funktioniert das auch, nur bei PDF und TIFF wird kein Mime-Type übergeben.
Ich lasse die folgende Form zum Testen an die unten stehende PHP-Datei schicken:
Code: |
<form enctype="multipart/form-data" action="test.php" method="post">
Datei hochladen: <input name="file" type="file">
<br>
<br>
<input type="submit" name="upload" value="senden">
</form>
|
Code: |
<?php
echo 'MIME-TYPE: '.$file_type.'';
?>
|
Bei JPG und GIF erhalte ich die Mime-Types image/gif und image/pjpg. Bei PDF und TIFF wird allerdings nichts angezeigt.
Kann mir jemand sagen, woran das liegt? Evtl. eine Einstellung am Server?
mfG
-punsk-
|
|
|
|
|
Backware
Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 38
Geschlecht:
|
Verfasst Fr 16.12.2005 14:05
Titel
|
|
|
probier es mitm firefox aus .... das liegt soweit ich das weis beim browser... denn der ie gibts beispielsweise pjpeg (was auch immer das bedeuten mag... -.- drecksbrowser) und der firefox zum bleistift nur jpeg..
|
|
|
|
|
Anzeige
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Fr 16.12.2005 14:23
Titel
|
|
|
Versuche es erstmal über $_FILES['userfile']['type'].
$userfile_type gibt es nur, wenn dein Provider register_globals auf on geschaltet haben sollte... (Das wäre dumm von ihm...)
Naja, und es ist halt schlechter Programmierstil so zu arbeiten: unschön und unsicher...
Wie dem aber auch sei:
Das Ganze funktioniert sowieso nur, wenn der Browser den Mimetype zur Verfügung stellt. Der Server versucht hier gar nichts auszulesen...
Falls der Client diesen also nicht bereitstellt nicht, wie es hier aussieht, bleibt dir nur üblich, daß selbst herauszufinden bzw. zu versuchen.
Auf einer Unixkiste hast du das Kommando file. Das darfst du allerdings nicht mehr der PHP-Funktion file() verwechseln, die macht was völlig anderes...
File müßte auf jedem POSIX-System zu finden sein. Wenn du einen Mac (OS X) hast, dann mach mal das Terminal auf und tippe "man file".
Damit geht das normalerweise und ich würde halt einfach auf dieses externe Kommando zugreifen... Normalerweise müßte es in /usr/bin liegen.
Wenn dein Provider register_globals schon nicht auf off gestellt hat, dann wird er sicher auch Funktionen wie system() nicht deaktiviert haben...
Mit passthru() oder system() kannst du auf externe Programme zugreifen und die Rückgabe anzeigen/auswerten.
|
|
|
|
|
Backware
Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 38
Geschlecht:
|
Verfasst Fr 16.12.2005 15:24
Titel Re: Mime-Type wird beim Upload nicht richtig ermittelt |
|
|
punsk hat geschrieben: | Bei JPG und GIF erhalte ich die Mime-Types image/gif und image/pjpg. |
was die frage bezüglich register_globals doch klären dürfte...
|
|
|
|
|
|
|
|
Ähnliche Themen |
Dringend Mime-Type gesucht
IE9 MIME Types
MIME-Typ für Mediaplayer
PHP Multi Mime Mails
PHP MIME MAIL Attachment und Umlaute fürn Mac
page type = 0
|
|