php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.09.2006, 20:32  
LP
Erfahrener Benutzer
 
Registriert seit: 02.06.2005
Beiträge: 150
LP
Standard dateiupload

hallo,

ich habe einen dateiupload geschrieben, mit dem nur jpg dateien bis zu einer bestimmten größe hochgeladen werden dürfen
ich habe es wie folgt realisiert:

...
<input type="file" name="bild">
<input type="submit" value="mitteilen">
...

PHP-Code:
...
if(
$_FILES[bild][size]>100000)
  {
   
$fehler.='[b]<font color="red">die Datei ist zu groß</font>[/b]
'
;
  }
  else
  {
   if(!(
$_FILES[bild][type]=="image/pjpeg"))
   {
    
$fehler.='[b]<font color="red">der Dateityp ist unzulässig</font>[/b]
'
;
   }
  }
... 
ich bekomme nun bei jedem upload die 2. fehlermeldung:
dateityp unzulässig
warum?
es handelte sich im tet um eine jpg bzw jpeg datei?!!
LP ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 04.09.2006, 20:38  
LP
Erfahrener Benutzer
 
Registriert seit: 02.06.2005
Beiträge: 150
LP
Standard

hab es mal auf
if(!($_FILES[bild][type]=="image/pjpeg"))
{
$fehler.='<font color="red">der Dateityp ist unzulässig</font>
';
}
reduziert
trotzdem selbes ergebnis
LP ist offline  
Alt 04.09.2006, 21:48  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Vermutlich ist der MIME-Type eben nicht image/pjpeg sondern image/jpeg. Zusätzlich gilt es zu bedenken, dass dieser MIME-Type vom Client gesendet und somit auch beliebig gefälscht werden kann. Der Dateityp solltest aus diesem Grund serverseitig mit mime_content_type() gegengeprüft werden.
xabbuh ist offline  
Alt 04.09.2006, 21:53  
LP
Erfahrener Benutzer
 
Registriert seit: 02.06.2005
Beiträge: 150
LP
Standard

klappt auch net
weder
...pjpeg
...jpeg
noch
...jpg
LP ist offline  
Alt 04.09.2006, 21:57  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Hast du mime_content_type() angewandt? Zusätzlich könntest du dir $_FILES['bild']['type'] auch mal ausgeben lassen, um zu schauen, welche Wert in diesem Arrayelement enthalten ist.

Außerdem: http://www.php.net/manual/en/languag...es.array.donts
xabbuh ist offline  
Alt 05.09.2006, 03:49  
Erfahrener Benutzer
 
Registriert seit: 07.06.2005
Beiträge: 274
imported_kremser
Standard

wieso ladest du nicht das bild rauf und löschst es wieder wenn es zu groß ist bzw machst es gleich kleiner?
imported_kremser ist offline  
Alt 05.09.2006, 10:06  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Das hier
PHP-Code:
<?php
if(!($_FILES[bild][type]=="image/pjpeg")) 
?>
Sieht mir etwas konfus aus. Schreibe dochmal nicht !($_FILES...), sondern
PHP-Code:
<?php
if($_FILES['bild']['type'] != 'image/pjpeg')
?>
Ansonsten - wie xabbuh sagte, einfach mal ausgeben lassen und schauen, was da steht

pjpeg Bilder lädt nur der Internet Explorer hoch, wenn du dieselbe Datei mit dem Firefox hochlädst wirdst du wohl einen MIME-Type von image/jpeg bekommen (ohne p).
Chr!s ist offline  
Alt 05.09.2006, 12:26  
LP
Erfahrener Benutzer
 
Registriert seit: 02.06.2005
Beiträge: 150
LP
Standard

ok

wenn ich
PHP-Code:
echo $_FILES['bild']['type'];
echo 
$_FILES['bild']; 
eintrage bekomme ich gar keine ausgabe!
habe ist da dann was mit dem form falsch gemacht?
aufbau wie schon geschrieben:
PHP-Code:
<form>
<
input type="file" name="bild"
<
input type="submit" value="mitteilen">
</
form
langsam habe ichecht keine ideen mehr

Zitat:
wieso lädst du nicht das bild rauf und löschst es wieder wenn es zu groß ist bzw machst es gleich kleiner?
ich möchte im vornherein prüfen ob ein gültiges bild gewählt wurde. wenn das nicht der fall ist soll es auch nicht hochgeladen werden.

Welche möglichkeit habe ich denn noch (browserübergreifend) das dateiformat zu ermitteln?
es sollen alle jpg,jpeg und später auch gif dateien erlaubtr werden.
der code den ich angeführt habe, den ich aus einem buch habe scheit da ja nicht wirklich gut geeignet zu sein!

funtioniert die die funktion
PHP-Code:
mime_content_type() 
nur mit dateien, die schon auf den server hochgeladen wurden? sonst müsste ich meinen upload mal komplett überdenken und evtl. wirklich erst hochladen und dann löschen.
LP ist offline  
Alt 05.09.2006, 13:30  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Deinem form-Element fehlen allein schon die elementaren Attribute method und action. Zusätzlich muss für Dateiupload das Attribut enctype auf multipart/form-data gesetzt werden.
xabbuh ist offline  
Alt 05.09.2006, 13:47  
LP
Erfahrener Benutzer
 
Registriert seit: 02.06.2005
Beiträge: 150
LP
Standard

aaaauuutsch!!!
mathod und action hab ich
aber
multipart/form-data
hab ich vergessen
son ne schei*e
DANKE!!!!!!!!
LP ist offline  
 


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
Probleme mit SSL und Dateiupload Zauderer PHP-Fortgeschrittene 8 23.07.2006 00:54
Dateiupload auf anderen Server! PHP Tipps 2006 7 28.02.2006 11:20
Dateiupload Kevin PHP Tipps 2006 13 01.02.2006 06:05
Dateiupload php html PHP Tipps 2005-2 4 25.10.2005 19:18
Nach Serverumzug Dateiupload fehlerhaft, warum? PHP-Fortgeschrittene 1 17.10.2005 09:55
Dateiupload über Formular patr1k PHP Tipps 2005-2 3 07.09.2005 15:15
Dateiupload Beispielcode funktioniert nicht Anotherone PHP Tipps 2005-2 3 27.08.2005 10:00
[Erledigt] Dateiupload mittels POST PHP-Fortgeschrittene 5 04.02.2005 07:07
Problem mit Dateiupload Thice PHP-Fortgeschrittene 2 02.02.2005 11:25
Dateiupload PHP Tipps 2005 10 27.01.2005 11:39
Dateiupload und Link in Datenbank abspeichern PHP Tipps 2004 1 15.10.2004 13:17
Probleme mit Dateiupload PHP-Fortgeschrittene 9 24.09.2004 15:09
Dateiupload und PHP.ini Konfiguration Novan PHP-Fortgeschrittene 1 20.08.2004 15:14
Dateiupload! PHP Tipps 2004 4 31.07.2004 23:13
Dateiupload via Http bricht ab...hilfe! PHP Tipps 2004 2 14.06.2004 10:54

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
\mime_content_type\ fälschen

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