n00p sucht hilfe bei datei upload
nickigraus
- php
0 Harry0 nickigraus0 Harry
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
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
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
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