Sandra: move_uploaded_file funktioniert im IE nicht

Hallo,

ich habe einfach keine Idee mehr woran es liegen kann.
Mein Uploadskript funktioniert im Firefox ohne Probleme,
im IE gibt es immer die Fehlermeldung:

Warning: move_uploaded_file(./data/) [function.move-uploaded-file]: failed to open stream: Is a directory in /homepages/41/d189182138/htdocs/profil.php on line 32

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpsmCqUi' to './data/' in /homepages/41/d189182138/htdocs/profil.php on line 32

Die Zeile 32 lautet:
move_uploaded_file($_FILES['logo']['tmp_name'],./data/".$_POST['logo_name']);

Ich habe es schon mit verschiedenen Möglichkeiten der Pfadangabe probiert.
Aber der IE streikt.

Ich hoffe es hat irgendjemand eine Idee, habe leider nichts zu diesem Thema gefunden.

Danke für eure Hilfe,
Greetz Sandra

  1. Die Zeile 32 lautet:
    move_uploaded_file($_FILES['logo']['tmp_name'],./data/".$_POST['logo_name']);

    Komisch dass da nur der IE streikt.

    Schau dir mal das nach dem Komma(,) an... da fehlen Anführungszeichen.

    Was sagt error_reporting?

    1. Hallo!

      Schau dir mal das nach dem Komma(,) an... da fehlen Anführungszeichen.

      Keine Ahnung was da passiert ist, aber in der Datei steht es richtig:
      move_uploaded_file($_FILES['logo']['tmp_name'],"./data/".$_POST['logo_name']);

      Was sagt error_reporting?

      Warning: move_uploaded_file(./data/) [function.move-uploaded-file]: failed to open stream: Is a directory in /homepages/41/d189182138/htdocs/profil.php on line 32

      Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpiR2E8o' to './data/' in /homepages/41/d189182138/htdocs/profil.php on line 32

      Ich bin ernsthaft verwirrt...

      1. Was sagt var_dump() zu den in den Parametern verwendeten Variablen?

        --
        LG,
        Snafu
        1. Was sagt var_dump() zu den in den Parametern verwendeten Variablen?

          Naja, da es in Firefox funzt, kann es ja eig. nicht daran liegen.
          Aber:

          var_dump($_FILES['logo']['tmp_name']); - string(14) "/tmp/php2fidr2"

          var_dump($_POST['logo_name']); - string(11) "2_logo.jpeg"

          Greetz

          1. Hallo!

            Naja, da es in Firefox funzt, kann es ja eig. nicht daran liegen.
            Aber:

            Im Prinzip schon aber sollte bei der Fehlermeldung ...
            -----------
            Warning: move_uploaded_file(./data/) [function.move-uploaded-file]: failed to open stream: Is a directory in /homepages/41/d189182138/htdocs/profil.php on line 32
            -----------
            ... nicht move_uploaded_file(./data/2_logo.jpeg) stehen?!
            Ausserdem wenn die Variableninhalte passen und ein Fehler auftritt dann müsste es am Server liegen und nicht am Client.

            --
            LG,
            Snafu
            1. Hallo,

              jetzt bin ich nur noch mehr verwirrt.
              Wie gesagt im Firefox funktioniert der Upload,
              die Bilder werden danach richtig angezeigt und
              in den richtigen Ordner geladen.

              Nur im IE gibt es ein error und die Bilder werden
              halt nicht geladen.

              Für mich ergibt das keinen Sinn.

              Greetz

  2. Hi,

    Warning: move_uploaded_file(./data/) [function.move-uploaded-file]: failed to open stream: Is a directory

    Die Zeile 32 lautet:
    move_uploaded_file($_FILES['logo']['tmp_name'],./data/".$_POST['logo_name']);

    Dann hast du wohl vom IE keinen Wert fuer $_POST['logo_name'] uebergeben bekommen.
    Wie sieht das Formular aus?

    Und was hat deine Kontrollausgabe der per POST uebergebenen Werte ergeben?

    MfG ChrisB

    1. Hallo,

      Tatsache. Habe die Ausgaben gecheckt und habe festgestellt,
      dass der IE tatsächlich andere Daten übergibt, bzw. für $_POST['logo_name'] gar kein Daten übergeben werden.

      Woran kann das liegen?
      Das Formular sieht so aus:

      <form id="profilForm" enctype="multipart/form-data" name="profilForm" method="post" action="profil.php?section=userData&amp;action=changeProfil">
       <label for="caddress" class="label">Ansprechpartner:</label>
       <select id="caddress" name="address" title="Anrede ausw&auml;hlen" class="{literal}{required:false}{/literal}">
       <option></option>
       <option value="1" {if $profil.address eq '1'}selected{/if}>Frau</option>
       <option value="2" {if $profil.address eq '2'}selected{/if}>Herr</option>
      </select>
      <input id="ccontact" name="contact" size="20" class="{literal}{required:true}{/literal}" value="{$profil.contact_person}" />
        <br /><br />

      <label for="signature" class="label">Unterschrift:</label>
       <input type="file" id="signature" name="signature" class="{literal}{required:false,accept:'jpg|gif|png|jpeg'}{/literal}" />
       <label for="signature" id="error" class="error">Es k&ouml;nnen nur Bilddateien hochgeladen werden.</label>
       <br /><br />
      <label for="logo" class="label">Firmenlogo:</label>
       <input type="file" id="logo" name="logo" class="{literal}{required:false,accept:'jpg|gif|png|jpeg'}{/literal}" />
       <label for="logo" id="error" class="error">Es k&ouml;nnen nur Bilddateien hochgeladen werden.</label>
       <br /><br />
       {if $profil.signature eq ''}<img src="images/profil/nosignature.gif">{else}<img src="data/{$profil.signature}">{/if}
       {if $profil.logo eq ''}<img src="images/profil/nologo.gif">{else}<img src="data/{$profil.logo}">{/if}
       <br /><br />
       <input class="submit" type="submit" value="Profil aktualisieren"/>
       </form>

      Als Templatesystem nutze ich Smarty und checke die Felder mit jquery.

      Wer hat eine Idee?

      Liebe Grüße Sandra

      1. Hi,

        Tatsache. Habe die Ausgaben gecheckt und habe festgestellt,
        dass der IE tatsächlich andere Daten übergibt, bzw. für $_POST['logo_name'] gar kein Daten übergeben werden.

        Woran kann das liegen?

        Daran:

        Das Formular sieht so aus:

        Ich sehe dort kein Feld, welches mit dem Bezeichner logo_name benannt waere. Wo also soll der Wert herkommen ...?

        MfG ChrisB