php file upload, mir unbekannter Fehler

Hallo!
Der Datenupload Zeilen
klappt nicht oder nicht immer, an was könnte es liegen?
auf /opt/lampp/htdocs haben alle Les, Schreib und Ausführrechte.

Code:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
if (isset ($submitbtn) && $submitbtn == "senden")
{
$filename = $thefile_name;
$filetype = $thefile_type;
$filesize = ($thefile_size / 1024);

if ($filetype == "audio/mpeg")
{
echo '<script language = "javascript"> alert("Du scheinst ein Musikfile hochzuladen. Beachte bitte
}

$uploaddir = '/opt/lampp/htdocs/';
if (move_uploaded_file($filename, $uploaddir))
{
echo '<script language="javascript">alert("Upload erfolgreich.");</script>';
}
else
{
echo '<script language="javascript">alert("Fehler!!!");</script>';
}
}


else
{
?>
<form enctype="multipart/form-data" action="uploadv2.php" method="post">
<input type="hidden" name="100000000000" value="1000">
file senden: <input name="thefile" type="file">
<input type="submit" value="senden" name="submitbtn">

Es wird nichts heraufgeladen...hm...

danke :)
 
register_globals mal geprüft? So wie das programmiert ist, dürfte es ohne nicht funktionieren. Ansonsten mal die PHP-Doku zu Fileuploads anschauen, in $_FILES gibt es auch Informationen zur Fehlerbestimmung.
 
naja, ich kann dir jetzt nicht direkt bei deinem Problem helfen, weil ich nich viel Zeit hab, um mir den code genau anzugucken, aber was mir beim Überfliegen gleich aufgefallen ist, ist, dass das skript sehr unsicher ist:
jemand könnte die Datei z.B. index.html nennen, dann würde sie z.B die index.html deines Servers überschreiben.
oder er könnte ein bösartiges Skript hochladen und es so nennen wie dein uploadskript, wenn du dann das nächste mal dein Uploadskript ausführst, dann hast du den salat.
Besonders bei Uploadskripten würde ich immer auf vorgefertigte zurückgreifen. Aber zum PHP-Üben ist es sicherlich nicht schlecht.
 
Original von LX
register_globals mal geprüft? So wie das programmiert ist, dürfte es ohne nicht funktionieren. Ansonsten mal die PHP-Doku zu Fileuploads anschauen, in $_FILES gibt es auch Informationen zur Fehlerbestimmung.
Blick ist jetzt glaub nicht ganz durch, meinst du register_globals in php.ini? Die sind bei mir ON...
Werd mir jetzt mal wie du gesagt hast du Doku angucken.

@Heinzelotto
Ist mir klar, dass es sehr unsicher ist, ist eh erst ein basis-skript um micht n bisschen mit der Materie herumzuschlagen... :)
 
PHP:
$uploaddir = '/opt/lampp/htdocs/';
if (move_uploaded_file($filename, $uploaddir))

beim uploaddir reicht es nicht einfach nur den Ordner anzugeben, du musst auch den Dateinamen angeben.
Außerdem würde ich evtl. mit $_FILES arbeiten(müsste so sein konnte es grade nicht testen):

PHP:
if(@move_uploaded_file($_FILES['thefile']['tmp_name'],$uploaddir.$_FILES['thefile']['name']) or die("error"))
 {
echo 'ready';
}
 
Zurück
Oben