nickigraus: n00p sucht hilfe bei datei upload

Hi,

das sind meine beiden scripts:

<html>
<head><title>Leladia Up Test</title></head>
<body>
<form enctype='multipart/form-data' action='scdo.php' method='post'>
<input type='hidden' name='MAX_FILE_SIZE' value='1000000'>
<input type='file' name='userfile' size='20' maxlength='60' accept='text/*'>
<input type='hidden' name='newname' value='testfile.scc'>
<input type='submit' value='Hau Wech'>
</form>
</body>
</html>

----

<html>
<head><title>Hochgeladen</title></head>
<body>
<?php
 echo "<b>$newname </b><br><br>";

if (file_exists($newname)==1)
 {
  chmod($newname, 777);
  if (unlink($newname)==1)
   {echo "Altes File gelöscht<br>";}
  else
   {echo "Dateifehler<br>";}
 }
 if (rename($userfile, $newname)==1)
  {echo "UpLoad<br>";}
 else
  {echo "Nix Upload<br>";}
?>
</body>
</html>

----

Und das ist die FehlerMldg:

testfile.scc

Warning: Rename failed (Invalid cross-device link) in /www/hosting/users/n/i/m/nimuee/sc/scdo.php on line 15
Nix Upload

Ich habe sowohl das dir 'sc' auf chmod 777 gesetzt als auch das File.
Kann mir da wer weiterhelfen?

Gruss

ThN

  1. Holladiewaldfee,

    Warning: Rename failed (Invalid cross-device link) in /www/hosting/users/n/i/m/nimuee/sc/scdo.php on line 15
    Nix Upload

    Mal ganz abgesehen von der haarsträubenden Sicherheitslücke, die Dein Script darstellt (traue _nie_ Daten, die vom User kommen _könnten_ -> da fällt auch der Dateiname der Zieldatei drunter!) ...

    Kann mir da wer weiterhelfen?

    Ja, das Manual ;)

    Zum einen: Verwende lieber move_uploaded_file()
    http://de.php.net/manual/en/function.move-uploaded-file.php

    Zum anderen: Der Kommentar unter http://de.php.net/manual/en/function.rename.php:

    "Note: Prior to PHP 4.3.3, rename() could not rename files across partitions on *nix based systems."

    Ciao,

    Harry

    --
      Schnee :) Skitour gefällig?
      http://harry.ilo.de/projekte/berge/
    1. Mal ganz abgesehen von der haarsträubenden Sicherheitslücke, die Dein Script darstellt (traue _nie_ Daten, die vom User kommen _könnten_ -> da fällt auch der Dateiname der Zieldatei drunter!) ...

      sobald die anzeige geht, die oberfläche bugfrei ist und die beiden beta - user genug gespielt haben, wird der simple upload durch eine mySQL db ersetzt.

      Kann mir da wer weiterhelfen?

      Ja, das Manual ;)

      Ich bin jetzt seit 2 Wochen dabei Lering by Doing zu machen, ich bin schon froh, das ich mich durch das deutsche HB gekaut hab und die Hälfte verstanden hab :)

      So, ausprobiert, geht...

      Dann mal sehen, das ich den mySQL zum laufen bekomme... wieder ein dickes HB.

      Gruss

      ThN

      1. Holladiewaldfee,

        Ich bin jetzt seit 2 Wochen dabei Lering by Doing zu machen, ich bin schon froh, das ich mich durch das deutsche HB gekaut hab und die Hälfte verstanden hab :)

        Trotzdem als Tip: Das englische Manual ist teilweise ausführlicher und natürlich auch aktueller. Im Zweifelsfall solltest Du also immer einen Blick in die englische Variante werfen.

        Ciao,

        Harry

        --
          Schnee :) Skitour gefällig?
          http://harry.ilo.de/projekte/berge/