elBee: Upload via PHP

Hallo Forum,
ich habe ein Problem bei dem ich nicht weiterkomme...

Ich habe ein Upload-Script, dass nicht funktioniert...
Es zeigt mir an, dass die Datei erfolgreich upgeloaded wurde,
allerdings kann ich diese dann nicht auf dem Server finden.

Das Verzeichnis UPLOADS hat CHMOD 777

Kann mir jemand weiterhelfen?

Grüße
elBee

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

<?php
$ADMIN[RequirePass] = "No";
$ADMIN[Password] = "xxx";
$ADMIN[UploadNum] = "1";
$ADMIN[directory]="http://www.sparklindawn.de/neu/uploads/";
if($doupload) {

if($ADMIN[RequirePass] == "Yes") {
if($password != "$ADMIN[Password]") {
?>
<P><CENTER><B><FONT FACE="Verdana">Error</FONT></B></CENTER></P>
<P><CENTER><TABLE WIDTH="450" BORDER="0" CELLSPACING="0"
CELLPADDING="0">
  <TR>
    <TD WIDTH="100%" BGCOLOR="#000000">
    <TABLE WIDTH="450" BORDER="0" CELLSPACING="1" CELLPADDING="2">
      <TR>
        <TD COLSPAN="2" BGCOLOR="#ffffff">
        <FONT COLOR="#000000" SIZE="-1" FACE="Verdana">Invalid Password</FONT></TD>
      </TR>
    </TABLE></TD>
  </TR>
</TABLE></CENTER></P>
</BODY>
</HTML>
<?php
exit();
}
}

$num = 0;
while($num < $ADMIN[UploadNum]) {
$num++;

$picture = "fileup$num"."_name";
$picture1 = $$picture;
$picture2 = "fileup$num";
$picture3 = $$picture2;

if($picture3 != "none") {
$filesizebtyes = filesize($picture3);

$ok = 1;
if($filesizebtyes < 300) {
$error .= "Fehler beim Upload! Die Dateigröße von 300 KB der Pos. $num wurde überschritten<BR>";
$ok = 2;
}

if(file_exists("$ADMIN[directory]/$picture1") OR $ok == 2) {
$error .="Fehler beim Upload! Pos. $num existiert bereits!<BR>";
} else {
copy ($picture3, "$ADMIN[directory]/$picture1");
$error .="Pos. $num wurde erfolgreich auf den Server kopiert<BR>";
}
}
}

if(!$error) {
$error .= "Es wurden keine Dateien zum Uploaden ausgewählt";
}

?>
<P><CENTER><B><FONT FACE="Verdana">Status</FONT></B></CENTER></P>

<P><CENTER><TABLE WIDTH="450" BORDER="0" CELLSPACING="0"
CELLPADDING="0">
  <TR>
    <TD WIDTH="100%" BGCOLOR="#000000">
    <TABLE WIDTH="450" BORDER="0" CELLSPACING="1" CELLPADDING="2">
      <TR>
        <TD COLSPAN="2" BGCOLOR="#ffffff">
        <FONT COLOR="#000000" SIZE="-1" FACE="Verdana"><?php echo $error; ?></FONT></TD>
      </TR>
    </TABLE></TD>
  </TR>
</TABLE></CENTER></P>
</BODY>
</HTML>
<?php
exit();

} else {

$num = 0;
while($num < $ADMIN[UploadNum]) {
$num++;
$html .= "<TR>
        <TD WIDTH="25%" BGCOLOR="#295e85">
        <FONT COLOR="#ffffff" SIZE="-1" FACE="Verdana">Datei $num:</FONT></TD>
        <TD WIDTH="75%" BGCOLOR="#ffffff">
        <INPUT NAME="fileup$num" TYPE="file" SIZE="25">
</TD> ";
}

?>
<FORM ENCTYPE="multipart/form-data" ACTION="uploader.php" METHOD="POST">
<P><CENTER><B><FONT FACE="Verdana">Upload</FONT></B></CENTER></P>

<P><CENTER><TABLE WIDTH="450" BORDER="0" CELLSPACING="0" CELLPADDING="0">
  <TR>
    <TD WIDTH="100%" BGCOLOR="#000000">
    <TABLE WIDTH="450" BORDER="0" CELLSPACING="1" CELLPADDING="2">
      <TR>
        <TD COLSPAN="2" BGCOLOR="#295e85">
        <B><FONT COLOR="#ffffff" SIZE="-1" FACE="Verdana">Select Files</FONT></B></TD>

</TR><?php echo $html; ?>
    </TABLE></TD>
  </TR>
</TABLE></CENTER></P>
<?php
if($ADMIN[RequirePass] == "Yes") {
?>
<P><CENTER><TABLE BORDER="0" CELLSPACING="0"  CELLPADDING="0">
  <TR>
    <TD WIDTH="100%" BGCOLOR="#000000">
    <TABLE WIDTH="300" BORDER="0" CELLSPACING="1" CELLPADDING="2">
      <TR>
        <TD WIDTH="33%" BGCOLOR="#295e85">
        <B><FONT COLOR="#ffffff" SIZE="-1" FACE="Verdana">Password:</FONT></B></TD>
        <TD WIDTH="67%" BGCOLOR="#ffffff">
        <INPUT NAME="password" TYPE="password" SIZE="25">
</TD>
      </TR>
    </TABLE></TD>
  </TR>
</TABLE></CENTER></P>
<?php
}
?>
<P><CENTER><INPUT NAME="doupload" TYPE="submit" VALUE="Upload"></CENTER></FORM>
</BODY>
</HTML>
<?php
exit();
}

?>

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  1. Hallo,

    $ADMIN[directory]="http://www.sparklindawn.de/neu/uploads/";

    das ist eine URI und keine brauchbare Pfadangebe für das Dateisystem.

    if($doupload) {

    Dein Script vertraut darauf, daß register_globas mit "on" konfiguriert ist. Diese Konfiguration bringt aber Sicherheitsrisiken mit sich und sollte deshalb vermieden werden. Nutzse stattdessen $_POST['doupload']!

    while($num < $ADMIN[UploadNum]) {

    for($num=0;$num<$ADMIN['UploadNum'];$num++){

    $num++;

    ...

    Du greifst nicht ein einziges mal auf das entscheidende Array $_FILES zu. Sieh Dir auch http://de3.php.net/manual/de/features.file-upload.php an!

    Gruß aus Berlin!
    eddi

    --
    Wer Rechtschreibfehler findet, darf sie behalten.