Dateiendung einer Datei bestimmen?
flotschi1981 Fachidiot Threadstarter
Beiträge: 109
Hallo,
ich hab folgenes Script:
Datei auswählen:
$dat=substr("$uploadfile",-3,3);
echo "$dat und $uploadfile";
Ich bekomme immer für $dat die Dateiendung "tmp" angezeigt! Für $uploadfile erhalte ich immer den Pfad C:\WINDOWS\TEMP\php45.tmp angezeigt.
Was stimmt denn an diesem Script nicht???
Vielen Dank!
 Profil
E-Mail
Editieren
Zitieren
skc.tiddy Otto-Normal-Poster
Beiträge: 81
 Profil
Website
Editieren
Zitieren
flotschi1981 Fachidiot Threadstarter
Beiträge: 109
Hallo,
ok hab ich gelesen und auch gecheckt. Nur ich will ja automatisch die Dateiendung auslesen und dann dranhängen lassen. Bei mir können halt User beim Hochladen selber Dateinamen vergeben und da will ich, dass die Dateiendung dann automatisch gespeichert wird und nicht die User selber angeben müssen.
Mit echo "$uploadfile_type"; erhalte ich ja z.B. immer text/html ich will ja dann nur html! Oder auch bei PHP Dateien erhalte ich immer text/html.
Ich will aber nur einfach z.B. .php, .html oder auch .gif!!
Vielen Dank
 Profil
E-Mail
Editieren
Zitieren
languitar Foren-Team
Beiträge: 2795
$_FILES['userfile']['name']
 Profil
Editieren
Zitieren
flotschi1981 Fachidiot Threadstarter
Beiträge: 109
Hallo,
geht mir auch nicht richtig. Wie müßte ich denn die Datei richtig einbinden???
Wie kann ich jetzt von $uploadfile die Dateiendung richtig erkennen??? Ich komme einfach nicht drauf!
 Profil
E-Mail
Editieren
Zitieren
languitar Foren-Team
Beiträge: 2795
substr($_FILES['uploadfile']['name'], -3, 3);
Wobei das nur bei Dateien mit einer Endung von 3 Zeichen Läge geht. Ansonsten müsstest du gerade ne RegEx machen.
 Profil
Editieren
Zitieren
flotschi1981 Fachidiot Threadstarter
Beiträge: 109
Ja super vielen Dank........
 Profil
E-Mail
Editieren
Zitieren
skc.tiddy Otto-Normal-Poster
Beiträge: 81
mach dir doch nen array mit den dateitypen:
1:
2:
3:
4:
5:
6:
$type = array(
'image/jpeg' => 'jpg',
'image/gif' => 'gif',
);
wäre wohl die edelste lösung. gleichzeitig lässt du dadurch nur best. dateitypen zu.
---
...blah.
 Profil
Website
Editieren
Zitieren
languitar Foren-Team
Beiträge: 2795
Warum is das die endelste Lösung? Riesen Arbeit alle MIME-Typen rauszusuchen und wenn man alle Dateitypen zulassen will was dann?
Diese Nachricht wurde geändert von: languitar
 Profil
Editieren
Zitieren
Yhoko Otto-Normal-Poster
Beiträge: 49
Ganz einfach:
if( empty( $type[$mime] ) )
{
$ext = substr( $file_name, -3, 3 );
} else {
// Hier Dateitypen-Array checken
}
Es *ist* die edelste Lösung.
---
HackV1 |
Nazrapedia |
Spirits |
YDK  Profil
Website
Editieren
Zitieren
SammyXp Pixelschubser
Beiträge: 2
 Profil
E-Mail
Editieren
Zitieren
HoRnominatoR Mausakrobat
Beiträge: 161
zu umstaendlich, kostet nur unnoetig ressourcen.
Yhoko schrieb am 09.08.2004 04:21
Ganz einfach:
if( empty( $type[$mime] ) )
{
$ext = substr( $file_name, -3, 3 );
} else {
// Hier Dateitypen-Array checken
}
Es *ist* die edelste Lösung.
die loesung ist nicht edel, sie ist eingeschraenkt, da gibt es deutlich bessere.
http://de3.php.net/strrchr
http://de3.php.net/strrpos
---
get OPERA for free  Profil
E-Mail
Website
Editieren
Zitieren