php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.09.2009, 22:14  
Erfahrener Benutzer
 
Registriert seit: 09.11.2008
Beiträge: 503
PHP-Kenntnisse:
Fortgeschritten
Marti95. ist in Verruf geratenMarti95. ist in Verruf geraten
Standard Upload script datei type falsch erkannt

Hallo,

Ich habe ein Problem mit meinem Upload script, und zwar es steht da immer ich soll ZIP oder RAR hochladen, obwohl ich das bereits mache.

PHP-Code:
          $inputname "datei";
          
$dirname   "downloads/";          
          if (
$_FILES[$inputname]['error'] > 0) {
            echo 
'Problem: ';
            switch (
$_FILES[$inputname]['error']) {
              case 
1: echo 'Die Datei ist gr&ouml;sser als upload_max_filesize.<br>'; break;
              case 
2: echo 'Die Datei ist gr&ouml;sser als max_file_size.<br>'; break;
              case 
3: echo 'Die Datei wurde unvollst&auml;ndig hochgeladen.<br>'; break;
              case 
4: echo 'Es wurde keine Datei hochgeladen.<br>'; break;
            }
            
goto error_fetchpoint;
          }
          
// Prüfen, ob die Datei den passenden MIME-Typ hat
          
if ($_FILES[$inputname]['type'] != 'application/zip' && $_FILES[$inputname]['type'] != 'application/x-rar-compressed') {
            echo 
'Problem: Es d&uuml;rfen nur ZIP-, oder RAR-Archive hochgeladen werden!<br>';
            
goto error_fetchpoint;
          }
          
// Die Datei in das gewünschte Zielverzeichnis verschieben
          
$upfile $dirname microtime() . '_' .$_FILES[$inputname]['name']; 
          if (
is_uploaded_file($_FILES[$inputname]['tmp_name'])) {
            if (!
move_uploaded_file($_FILES[$inputname]['tmp_name'], $upfile)) {
              echo 
'Problem: Konnte die Datei nicht in das Zielverzeichnis verschieben.<br>';
              
goto error_fetchpoint;
            }
          } else {
            echo 
'Problem: M&ouml;glicher Angriff beim Hochladen. Dateiname: ';
            echo 
$_FILES[$inputname]['name'];
            
goto error_fetchpoint;
          }
          
$eintrag "INSERT INTO ".$prefix."downloads (cat_id,name,beschreib,user,sys_php,sys_mysql,ip) VALUES ('$script_cat','$script_name','$script_beschreib','$aui','$sys_php','$sys_mysql','')";
          
$eintragen mysql_query($eintrag) OR die(mysql_error());
          echo 
'Die Datei wurde erfolgreich hochgeladen.<br>';
          
goto ende;
          
error_fetchpoint
Gruss
Marti95. ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.09.2009, 22:41  
Erfahrener Benutzer
 
Registriert seit: 03.09.2009
Beiträge: 158
PHP-Kenntnisse:
Anfänger
kn0wledge befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Marti95. Beitrag anzeigen
Hallo,

Ich habe ein Problem mit meinem Upload script, und zwar es steht da immer ich soll ZIP oder RAR hochladen, obwohl ich das bereits mache.

PHP-Code:
          // Prüfen, ob die Datei den passenden MIME-Typ hat
          
if ($_FILES[$inputname]['type'] != 'application/zip' && $_FILES[$inputname]['type'] != 'application/x-rar-compressed') {
            echo 
'Problem: Es d&uuml;rfen nur ZIP-, oder RAR-Archive hochgeladen werden!<br>';
            
goto error_fetchpoint;
          } 

PHP-Code:
          // Prüfen, ob die Datei den passenden MIME-Typ hat
          
if ($_FILES[$inputname]['type'] != 'application/zip' OR $_FILES[$inputname]['type'] != 'application/x-rar-compressed') {
            echo 
'Problem: Es d&uuml;rfen nur ZIP-, oder RAR-Archive hochgeladen werden!<br>';
            
goto error_fetchpoint;
          } 
Du musst ja prüfen ob es ein MIME Type von beiden ist und nicht beide gleichzeitig.

oder?
kn0wledge ist offline  
Alt 13.09.2009, 22:44  
Erfahrener Benutzer
 
Registriert seit: 09.11.2008
Beiträge: 503
PHP-Kenntnisse:
Fortgeschritten
Marti95. ist in Verruf geratenMarti95. ist in Verruf geraten
Standard

Hallo, du verwechselst da was,
Ich habe geschrieben:
Zitat:
If type nicht ZIP UND Type nicht RAR {
FEHLER
}
bei deinem code ist jetzt:

Zitat:
If type nicht ZIP ODER Type nicht RAR {
FEHLER
}
also, bei mir ist es wenn beide nicht sind, dann error
bei dir ist es jetzt, wen es einer der beiden nicht ist, dan error

Gruss
Marti95. ist offline  
Alt 13.09.2009, 23:10  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Ich würde erstmal schauen was denn _tatsächlich_ in $_FILES[$inputname]['type'] steht. Wahrscheinlich steht dort einfach irgendwas á la "octet/stream" oder was weiß ich....

btw.: Ich hätte nicht gedacht, dass ich "goto" so schnell in feier Wildbahn sehen würde....
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 13.09.2009, 23:15  
Benutzer
 
Benutzerbild von Nico_Schubert
 
Registriert seit: 27.02.2008
Beiträge: 94
PHP-Kenntnisse:
Fortgeschritten
Nico_Schubert befindet sich auf einem aufstrebenden Ast
Standard

kn0wledge hat schon recht, du lädst mit den Upload Script immer nur eine Datei hoch und kannst daher auch nur auf einen Typ überprüfen, daher musst du in deiner IF Anweisung mit OR anstatt && arbeiten.
__________________
Benötigst Du hilfe zu Php? Dann schau doch mal meine Tutorials an. Hier bekommst Du Php Webspace für deine Php Scripte.
Nico_Schubert ist offline  
Alt 13.09.2009, 23:19  
Benutzer
 
Benutzerbild von Nico_Schubert
 
Registriert seit: 27.02.2008
Beiträge: 94
PHP-Kenntnisse:
Fortgeschritten
Nico_Schubert befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von agrajag Beitrag anzeigen
Ich würde erstmal schauen was denn _tatsächlich_ in $_FILES[$inputname]['type'] steht. Wahrscheinlich steht dort einfach irgendwas á la "octet/stream" oder was weiß ich....

btw.: Ich hätte nicht gedacht, dass ich "goto" so schnell in feier Wildbahn sehen würde....
Da muss ich dir genauso Recht geben bezüglich der Überprüfung was im Typ drin steht.

Bezüglich goto, gibt es schon die ersten Webhoster die bereits auf eine PHP Version 5.3 ein Update gemacht haben. Ich wäre trotzdem sehr skeptisch bereits jetzt anzufangen, mit der Umstellung sowie Realisierung solcher Scripte. Ich finde nach meiner Meinung, ist dieses goto eine sehr unsaubere Lösung.
__________________
Benötigst Du hilfe zu Php? Dann schau doch mal meine Tutorials an. Hier bekommst Du Php Webspace für deine Php Scripte.
Nico_Schubert ist offline  
Alt 13.09.2009, 23:27  
Erfahrener Benutzer
 
Registriert seit: 03.09.2009
Beiträge: 158
PHP-Kenntnisse:
Anfänger
kn0wledge befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Marti95. Beitrag anzeigen
Hallo, du verwechselst da was,
Gruss
bin vllt. wegen meinem upload script durcheinander gekommen, da hab ich es so gemacht :->
PHP-Code:
 if ($_FILES[$inputname]['type'] == 'application/zip' OR $_FILES[$inputname]['type'] == 'application/x-rar-compressed'
$checkMIME true; }
else {
  
$chekMIME false;
          } 
kA ob dir das was hilft jetz, aber wird sich bestimmt noch jemand melden der dir bei deim Problem besser helfen kann als ich Anfänger ;D
kn0wledge ist offline  
Alt 14.09.2009, 12:41  
Erfahrener Benutzer
 
Registriert seit: 09.11.2008
Beiträge: 503
PHP-Kenntnisse:
Fortgeschritten
Marti95. ist in Verruf geratenMarti95. ist in Verruf geraten
Standard

Hallo

es wird ausgegeben, zumindest bei ZIP
Zitat:
application/octetstream
Habe das mal so geändert:
PHP-Code:
          if (($_FILES[$inputname]['type'] != 'application/zip')AND($_FILES[$inputname]['type'] != 'application/x-rar-compressed')) {
            echo 
'Problem: Es d&uuml;rfen nur ZIP-, oder RAR-Archive hochgeladen werden!<br>';
            
goto error_fetchpoint;
          } 
Marti95. ist offline  
Alt 14.09.2009, 13:02  
Erfahrener Benutzer
 
Benutzerbild von Ti-Systems
 
Registriert seit: 06.10.2008
Beiträge: 240
PHP-Kenntnisse:
Fortgeschritten
Ti-Systems befindet sich auf einem aufstrebenden Ast
Ti-Systems eine Nachricht über ICQ schicken Ti-Systems eine Nachricht über MSN schicken
Standard

Hallo,

Benutze anstelle von goto Funktionen!

PHP-Code:
function funktionsname ($param) {
  return 
$param;

mfg Timo
Ti-Systems ist offline  
Alt 14.09.2009, 13:11  
Benutzer
 
Benutzerbild von Nico_Schubert
 
Registriert seit: 27.02.2008
Beiträge: 94
PHP-Kenntnisse:
Fortgeschritten
Nico_Schubert befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Ti-Systems Beitrag anzeigen
Hallo,

Benutze anstelle von goto Funktionen!

PHP-Code:
function funktionsname ($param) {
  return 
$param;

mfg Timo
Er muss das nicht, goto ist seit Php 5.3 eingeführt. Ich finde es toll, das er mit der Zeit geht. Den die Entwickler von Php geben die Richtung vor und da würde ich auch mit gehen. Nachteil ist aber, das man dies nur unter Php 5.3 verwenden kann
__________________
Benötigst Du hilfe zu Php? Dann schau doch mal meine Tutorials an. Hier bekommst Du Php Webspace für deine Php Scripte.
Nico_Schubert 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
[Erledigt] Ajax Upload script PhillKill12 PHP Tipps 2009 2 16.06.2009 16:24
Script schreibt nicht in Datei onkele PHP Tipps 2008 6 02.09.2008 13:23
Upload Script hat Probleme mit versch. Browsern [MimeType] fdm PHP Tipps 2008 11 27.07.2008 23:35
datei upload problem thecracked PHP Tipps 2008 5 11.07.2008 06:23
Upload Script + Multible Server cyberstorm PHP Tipps 2006 5 11.10.2006 19:43
Daten Upload Script Hilfe!! PHP Tipps 2007 9 29.12.2005 10:39
Datei Upload sammt Dateisplittung PHP Tipps 2007 1 09.12.2005 11:36
Problem mit Datei upload PHP Tipps 2005 16 24.03.2005 00:23
Ich bin auf der Suche nach einem fertigen Menü Upload Script Beitragsarchiv 7 22.08.2004 18:53
datei upload => datei anzeigen PHP Tipps 2004 16 05.08.2004 02:02
Nach datei Upload den namen der datei in DB speichern?? PHP Tipps 2004 14 17.07.2004 15:38
Upload mit Fehlermeldung "The script whose uid is 982 i PHP Tipps 2004 2 06.07.2004 13:18
[Erledigt] altes neues problem von datei upload!!! PHP Tipps 2004 3 28.06.2004 19:06
wenn ihr datei upload habt? wo habt ihr webspace? PHP Tipps 2004 6 18.06.2004 20:23

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php datei type, php file typ, php file type falsch, php dateitype, application octet stream zip upload, php rar upload script, php mime type falsch, upload script nur zip, php _files type octet, php5 script upload, $_files type wird nicht erkannt, php 5.3 upload type \application/octet-stream\, $_files angriff, $_files type falsch, application zip octet-stream upload, datei type, www.skript datei.de, php $_files nur .zip, php $_files type wird nicht erkannt, zip application/octet-stream zip upload

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