| Dateiendung einer Datei bestimmen? |
flotschi1981
Fachidiot
Beiträge: 114
|
Hallo,
ich hab folgenes Script:
Datei auswählen:<input type='file' name='uploadfile'>
$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
Beiträge: 114
|
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']
---
Take a look here!
Lichtblick - Einblick - Ausblick
|
|  Profil
E-Mail
Website
Editieren
Zitieren
|
flotschi1981
Fachidiot
Beiträge: 114
|
Hallo,
geht mir auch nicht richtig. Wie müßte ich denn die Datei richtig einbinden???
<form method="POST" action="<?=$php_self?>" enctype="multipart/form-data">
Datei auswählen:
<input type='file' name='uploadfile'><br>
Dateiname:
<input type="text" name="dateiname" maxlength="40"><br><br>
<input type="submit" name="verschicken" value="Speichern">
</form>
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.
---
Take a look here!
Lichtblick - Einblick - Ausblick
|
|  Profil
E-Mail
Website
Editieren
Zitieren
|
flotschi1981
Fachidiot
Beiträge: 114
|
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?
---
Take a look here!
Lichtblick - Einblick - Ausblick
Diese Nachricht wurde geändert von: languitar |
|  Profil
E-Mail
Website
Editieren
Zitieren
|
Yhoko
Otto-Normal-Poster
Beiträge: 47
|
Ganz einfach:
if( empty( $type[$mime] ) )
{
$ext = substr( $file_name, -3, 3 );
} else {
// Hier Dateitypen-Array checken
}
|
Es *ist* die edelste Lösung.
---
( HackV1) ( Spirits) ( Galaxy) ( YDK) ( Anhalter)
|
|  Profil
Website
Editieren
Zitieren
|
SammyXp
Pixelschubser
Beiträge: 2
|
|
|  Profil
E-Mail
Editieren
Zitieren
|
HoRnominatoR
Mausakrobat
Beiträge: 165
|
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
|