janosch: multiple fileupload php - extensions unterscheiden

Beitrag lesen

Fileupload start

for ($i=0;$i<4;$i++) //4 files sollen hoch
{

if (is_uploaded_file($HTTP_POST_FILES['PIC']['tmp_name'][$i]))

Hast du ein so altes PHP, dass du noch diese Altlast benutzen mußt? $_FILES ist schöner.

Stimmt schon. ich werde das mal ändern.

{
      //extension herausfinden
      $extention = substr(strrchr($files[$i], "."), 1);
Es gibt eine schöne PHP-Funktion namens pathinfo(), die dir auch die Extension einer Datei liefert.

Aber spannende Frage: Woher kommt $files? Was steht da drin?

das ist mein $files: $files=array($db->f("thumb"),$db->f("bild"));

switch($extention) {
case NULL :
       {
      $message = "extension nicht erkannt";
      break;
       }
Warum sind um den Block (und alle folgenden) geschweifte Klammern rum?

oh! danke

case "jpg":
      { if (file_exists($uploadpath."images/".$files[$i]))
        {
          $files[$i]=$zeit."_".$HTTP_POST_FILES['PIC']['name'][$i];
          move_uploaded_file($HTTP_POST_FILES['PIC']['tmp_name'][$i], $uploadpath."images/".$files[$i]);

$message="erfolgreich geupped";
        }
break;}

case "mov":
                 {
     if (file_exists($uploadpath."images/".$files[$i]))
   {

$files[$i]=$zeit."_".$HTTP_POST_FILES['PIC']['name'][$i];
  $files[$i] = strtolower($files[$i]);
  move_uploaded_file($HTTP_POST_FILES['PIC']['tmp_name'][$i], $uploadpath."images/".$files[$i]);
break;}
}
}

Fileupload ende

kann das an meinem sessions liegen?

//-----------------Session Management--------------------------
session_start();
// Wenn der Datei eine Session ID übergeben wurde, dann diese reaktivieren
if (isset ($HTTP_GET_VARS[session_name()])) session_id( ${session_name()} );

Was soll der Scheiß denn? session_start() liest ganz automatisch GET-Parameter, Formulare und Cookies aus, um eine eventuell vorhandene Session-ID weiterzuverwenden.

Das Setzen der Session-ID _nach_ dem Start der Session ist sinnlos, da ist schon eine Session-ID vergeben.

Und was zum Teufel soll "session_id( ${session_name()} )" machen? Sieht eklig aus? Meint wahrscheinlich "session_id($_GET[session_name()])" - ist aber, wie erwähnt, überflüssig.

  • Sven Rautenberg

danke sven ich werde dran arbeiten.