max: bild upload

moin,
wäre echt nett wenn jemand von euch weiter wüsste, ich bin am verzweifeln. ich steh total aufm schlauch und komm einfach nicht drauf was an diesem script falsch ist:

function upload(){

if ($_GET[done]=="yes"){

$path = "pix/labels/";
$max_size = 200000;

if (!isset($HTTP_POST_FILES['userfile'])) {echo"Fehler beim Upload!";exit;}

if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {

if ($HTTP_POST_FILES['userfile']['size']>$max_size) { echo "The file is too big<br>\n"; exit; }
if (($HTTP_POST_FILES['userfile']['type']=="image/gif") || ($HTTP_POST_FILES['userfile']['type']=="image/pjpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/jpeg")) {

if (file_exists($path . $HTTP_POST_FILES['userfile']['name'])) { echo "The file already exists<br>\n"; exit; }

$res = copy($HTTP_POST_FILES['userfile']['tmp_name'], $path .
$HTTP_POST_FILES['userfile']['name']);
if (!$res) { echo "upload failed!<br>\n"; exit; } else { echo "upload sucessful<br>\n"; }

echo "File Name: ".$HTTP_POST_FILES['userfile']['name']."<br>\n";
echo "File Size: ".$HTTP_POST_FILES['userfile']['size']." bytes<br>\n";
echo "File Type: ".$HTTP_POST_FILES['userfile']['type']."<br>\n";
} else { echo "Wrong file type<br>\n"; exit; }
}
}
else{
echo"<form enctype="multipart/form-data" action="administration.php?PHPSESSID=".session_id()."&action=upload&id=".$_GET[id]."&done=yes" method="post">
Label-Datei: <input type="file" name="userfile">
<Input type="submit" value="Upload">
</form>";
}

}

wenn ich das ganze in ne extra datei packe funktionierts, aber als function läuft nix. die datei wird wohl nicht "geposted".
vielen dank schonmal!!!
max

  1. wenn ich das ganze in ne extra datei packe funktionierts, aber als function läuft nix. die datei wird wohl nicht "geposted".

    Versuch doch mal die datei an zu function zu übergeben:
    upload(...)
    {
    }

    1. hi,

      Versuch doch mal die datei an zu function zu übergeben:
      upload(...)
      {
      }

      geht das?
      naja, eigentlich egal, weil es das ganze in meinem fall nur unnötig kompliziert machen würde.
      trotzdem danke!!
      max

  2. hi,

    ich steh total aufm schlauch und komm einfach nicht drauf was an diesem script falsch ist:

    ich auch nicht - weil eine fehler_beschreibung_ in deinem posting vollkommen fehlt.
    </faq/#Q-07b>

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. hi,

      ich auch nicht - weil eine fehler_beschreibung_ in deinem posting vollkommen fehlt.

      ja, wie gesagt, die datei wird nicht übergeben, dh. diese zeile greift:

      if (!isset($HTTP_POST_FILES['userfile'])) {echo"Fehler beim Upload!";exit;}

      es wird "Fehler beim Upload!" ausgegeben.

      mfg max

      1. echo $begrüßung;

        if (!isset($HTTP_POST_FILES['userfile'])) {echo"Fehler beim Upload!";exit;}

        $HTTP_POST_FILES steht im Kontext einer Funktion erst einmal nicht zur Verfügung.

        http://de3.php.net/manual/en/language.variables.scope.php
        http://de3.php.net/manual/en/language.variables.predefined.php

        echo "$verabschiedung $name";

        1. hi,

          $HTTP_POST_FILES steht im Kontext einer Funktion erst einmal nicht zur Verfügung.

          danke, danach hab ich gesucht!!!
          hast du einen tipp für ne alternative?
          thx!
          max

          1. hi,

            $HTTP_POST_FILES steht im Kontext einer Funktion erst einmal nicht zur Verfügung.

            danke, danach hab ich gesucht!!!
            hast du einen tipp für ne alternative?

            ja - nicht mehr die veralteten $HTTP_-arrays nutzen, sondern die superglobalen arrays: http://www.php.net/manual/de/language.variables.predefined.php

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. hi,

              ja - nicht mehr die veralteten $HTTP_-arrays nutzen, sondern die superglobalen arrays: http://www.php.net/manual/de/language.variables.predefined.php

              thx, das funzt!!
              max

          2. hi,

            hast du einen tipp für ne alternative?
            thx!
            max

            ach was, ich pack das script einfach in ne extra datei und include die...
            mfg max

          3. echo $begrüßung;

            hast du einen tipp für ne alternative?

            Zwei hatte ich sogar, und beide verlinkt...

            echo "$verabschiedung $name";

        2. Hello,

          if (!isset($HTTP_POST_FILES['userfile'])) {echo"Fehler beim Upload!";exit;}

          $HTTP_POST_FILES steht im Kontext einer Funktion erst einmal nicht zur Verfügung.

          http://de3.php.net/manual/en/language.variables.scope.php
          http://de3.php.net/manual/en/language.variables.predefined.php

          und außerdem ist es schon lange überholt.

          Man sollte nach $_FILES['<fomularfeldname>'] fragen und dann als nächstes nach

          if (isset($_FILES['<fomularfeldname>']['error']) and
                $_FILES['<fomularfeldname>']['error'] === 0)   ## drei Gleichheitszeichen!
            {
              ## es wurde genau eine Datei in der Parametergruppe <formularfeldname> hochgeladen
            }

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau