php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.06.2005, 16:07  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard datenendung rausbekommen!

hallo, ich hab ein uploadskript, ich möchte die datenendung vorm upload checken und dann ggf. erlauben, wie geht das ?
notyyy ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.06.2005, 16:08  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

nach dem upload landet die datei in einem tempverzeichnis, dann kannst du sie überprüfen.

www.php.net/pathinfo

mfg
robo47
robo47 ist offline  
Alt 09.06.2005, 16:12  
Gast
 
Beiträge: n/a
Standard

mit $_FILES['$ka']['name'] kriegste den namen raus.
dann explodest du den namen mit einem punkt
jetzt zählst du die anzahl der arrays und die minus 1.
jetzt kannste anzahl - 1 in die variable, wo du explodest hast als index schreiben.
ka ob du das verstanden hast^^
hier beispiel:
PHP-Code:
<?
    $file    
$_FILES['ka']['name'];
    
$ende    explode('.'$file);
    
$anzahl  count($ende);
    
$anzahl -= 1;
    echo 
$ende[$anzahl];
?>
 
Alt 09.06.2005, 16:24  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

nö, hab ich nicht, was ist daran falsch ?
PHP-Code:
<?php

 
if($_REQUEST['Send'])
 
$datei $_FILES['Datei'];
  
$pathinfo pathinfo("$datei");
  
$endung $pathinfo['extension'];
  if(
$endung "$illegal"
{
echo 
"illegale Anwendung";
die;
}
 {
     if(
$_FILES['Datei']['tmp_name'])
     {
         echo
"Ihre Datei (&quot;",
             
$_FILES['Datei']['name'],
             
"&quot;) ist ",
             
$_FILES['Datei']['size'],
             
" Bytes groß.";
         
move_uploaded_file($_FILES['Datei']['tmp_name'], "".$_FILES['Datei']['name']);
     }
     else
     {
         echo
"Bitte geben Sie eine Datei an!";
     }
 }
 else
 {
 
?>

 <html>
 <head>
 <title>Datei-Upload</title>
 </head>
 <body>
 <form action="<?php echo$_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
 <input name="Datei" type="file">

 <input name="Send" type="submit" value="Upload">
 </form>
 </body>
 </html>

 <?php
 
}
 
?>
notyyy ist offline  
Alt 09.06.2005, 16:36  
Gast
 
Beiträge: n/a
Standard

warum nicht
echo substr($_FILES['ka']['name'], -3);
 
Alt 09.06.2005, 16:42  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

kA, habs nicht gerallt, ich will nur die endung haben, da hätte ich alles $_FILES['name']
würde doch nicht gehen ?
notyyy ist offline  
Alt 09.06.2005, 16:50  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von J33d3X
warum nicht
echo substr($_FILES['ka']['name'], -3);
weil die Datei auch z.B. test.html heissen kann oder blub.au


Zitat:
Zitat von notyyy
kA, habs nicht gerallt, ich will nur die endung haben, da hätte ich alles $_FILES['name']
würde doch nicht gehen ?
Was spricht denn gegen Robo47s Tip mit pathinfo()?
 
Alt 09.06.2005, 16:51  
Gast
 
Beiträge: n/a
Standard

nein

aber

substr($_FILES['Datei']['name'], -3);

das hatte ich aber schon geschrieben, du kannst auch die anderen Vorschläge nehmen
aber dazu musst du Sie auch LESEN
 
Alt 09.06.2005, 16:53  
Erfahrener Benutzer
 
Registriert seit: 19.06.2004
Beiträge: 665
konsti
Standard

Zitat:
Zitat von notyyy
nö, hab ich nicht, was ist daran falsch ?
PHP-Code:
<?php
..
  if(
$endung "$illegal"
{
echo 
"illegale Anwendung";
die;
}
 ...
 
?>
vergleiche immer mit == (bzw. ===)

@J33d3X:
weil nicht alle dateiendungen nur 3 zeichen haben
__________________
http://www.silvercoding.de
------------
ElePHPant Edit
konsti ist offline  
Alt 09.06.2005, 16:53  
Gast
 
Beiträge: n/a
Standard

@Volker
da er überprüft ob die endung stimmt
kann man ja vorraussetzen das die Anzahl des substrings man richtig setzen kann
b) wenn nur jpg erlaubt ist ( interessiert es mit Sicherheit nicht ob tml steht )
das die überprüfung eh false ist
 
 


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
Sybase Hilfe - Tabellennamen und -typen rausbekommen micbur PHP Tipps 2007 7 10.01.2007 18:20
Zeilenposition im Ergebnis rausbekommen DerDesian Datenbanken 9 12.12.2005 16:55
Pfad von PHP rausbekommen PHP Tipps 2005-2 2 07.06.2005 22:19

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datenendung

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