upload script fehler

iNstinct

Mitglied
hi leute. ich hab nen problem mit meinem upload script. die ordner, dateien und sonstiges werden zwar gelesen, aber es will nicht hochladen (JA, die ordner sind auch chmod 777 gestellt).

PHP:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<input type="file" name="datei" />
<input type="submit" value="Datei hochladen" />
</form>

<?

/* new.php dient zum verabeiten der Daten aus action.php?action=new
Script überpüft Dateinamen auf existenz usw. und trägt
bei erfolg alles in die datenbank ein*/

/* alle nötigen Dateien werden eingebunden */
$dvdname = $_POST['name']; //übergabevariable wird festgelegt
$dvdbeschreibung = $_POST['beschreibung']; //übergabevariable wird festgelegt
$dvderscheinung = $_POST['erscheinung']; //übergabevariable wird festgelegt
$dvdpreis = $_POST['preis']; //übergabevariable wird festgelegt
$submit = $_POST['submit'];
$bilddatei = $_FILES['dateiname'];

if($_FILES['dateiname']['tmp_name'] == "")
{
echo("keine datei");
}
else
{
    $extlimit = "yes"; //Do you want to limit the extensions of files uploaded
    $limitedext = array(".gif",".jpg",".bmp",".php",".html",".htm",".swf"); //Extensions you want files uploaded limited to.
    $sizelimit = "yes"; //Do you want a size limit, yes or no?
    $sizebytes = "1000000"; //size limit in bytes
    if (($sizelimit == "yes") && ($bilddatei['size'] > $sizebytes))
    {
        echo "Die Bilddatei ist zu gro&szlig;, sie darf maximal $sizebytes Bytes betragen.";
    }
    else
    {
        $ext = strrchr($bilddatei['name'],'.');
        if (($extlimit == "yes") && (!in_array($ext,$limitedext)))
        {
            echo "Die Bilddatei hat nicht die richtige Endung.";
        }
        else
        {
            if (file_exists("$dir/$bilddatei[name]"))
            {
                echo "Die Bilddatei existiert bereit. Bitte ändere deine Auswahl und versuche es nochmal.";
            }
            else
            {
                copy($bilddatei['name'],"$dir/$bilddatei[name]");
            }
        }

    }
}
?>



<?

// *************** CONST ***************

$me = basename($PHP_SELF);
$basepath = ".";

if (strstr($ext,"/..") OR strstr($ext,"../")) die("<p>&nbsp;&nbsp;corrupted");

$ext = $ext."/";
$path = $SERVER_NAME.dirname($PHP_SELF).$ext;

$folder = dir($basepath.$ext);
$i=0;
$i2=0;
$foldersize=0;


// *************** read() ***************

while ($datei = $folder->read())
 {
     $i++;
     if ($i > 2 AND $datei != $me)
      {
        $files[$i-2]=$datei;
      }
 }


// *************** sort ohne casesensitivty ***************

natcasesort($files);


// *************** auswertung ***************

foreach($files as $key=>$datei)
      {
          $i2++;
          $datei = $basepath.$ext.$datei;

          if (is_dir($datei)) $dir = "1"; else $dir = "0";
          $filename = basename($datei);
          $filesize = @number_format(filesize($datei) / 1024,2,"",".");
            $foldersize += @filesize($datei) / 1024;
          $filedate = @date("d.m.y  H:i",filemtime($datei));

          $field[$i2] = array (
            "dir"       => $dir,
            "filename"  => $filename,
            "filesize"  => $filesize,
            "filedate"  => $filedate
             );
      }

// *************** formatierung ***************

function format_arr($str)
 {
     global $ext, $path;
     if ($str[dir] == "1")
       {
           $icon = "dir";
           $href = "?ext=".$ext.$str[filename];
       }
     else
       {
           $icon = "jpg";
           $filesize = $str[filesize]." kb";
           $href = $path.$str[filename];
           $href = "http://".str_replace("//", "/", $href);
       }

     echo  "

             <tr height=\"20\">
               <td background=\"images/bg_upload.jpg\" width=\"30\" align=\"center\"><img src=\"images/".$icon.".jpg\"></td>
               <td background=\"images/bg_upload.jpg\"><a href=\"".$href."\">$str[filename]</a>&nbsp;</td>
               <td background=\"images/bg_upload.jpg\" width=\"200\" align=\"center\">$filesize</td>
               <td background=\"images/bg_upload.jpg\" width=\"120\" align=\"right\">$str[filedate]</td>
             </tr>
             <tr bgcolor=\"#D7D7D7\">
               <td height=\"1\"></td>
               <td height=\"1\"></td>
               <td height=\"1\"></td>
               <td height=\"1\"></td>
             </tr>";
 }

?>

<title><?echo $path; ?></title>

<?

echo "<u><b>Filemanager für Lakeparty-Radio.de</u></b><p>
     <a href=\"javascript:history.go(-1);\">History zurück</a><br><br>
      <table width=\"98%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
      <tr bgcolor=\"#D7D7D7\">
          <td height=\"1\"></td>
          <td height=\"1\"></td>
          <td height=\"1\"></td>
          <td height=\"1\"></td>
      </tr>";

foreach ($field as $key => $echo)
 {
     if ($echo[dir] == "1")
      {
        format_arr($echo);
      }
 }

foreach ($field as $key => $echo)
 {
     if ($echo[dir] == "0")
      {
        format_arr($echo);
      }
 }

 if ($foldersize > 1024*1024) { $foldersize /= 1024*1024; $foldersize = number_format($foldersize,2)." gb"; }
 elseif ($foldersize > 1024) { $foldersize /= 1024; $foldersize = number_format($foldersize,2)." mb"; }
 else $foldersize = number_format($foldersize,2)." kb";
echo "<tr height=\"50\"><td colspan=\"5\">
      <table border=\"0\" cellspacing=\"0\" cellspacing=\"2\" class=\"style\">
      <tr><td width=\"100\">";echo $i-2; echo " Objekt(e)</td><td colspan=\"4\">Größe insgesamt: $foldersize</td></tr></table>
      </td></tr></table>";
?>
 
Was meinst du mit „die ordner, dateien und sonstiges werden […] gelesen“? Auf welche Ordner beziehst du dich hierbei?
 
der aufbau ist so:

ordner
- index.php (das script)
- anderer ordner 1
- anderer ordner 2
- anderer ordner 3

die ordner werden angezeigt, werden auch ausgelesen, ....
 
Ma ne Frage gesetzt dem Fall du arbeitest mit confixx oder auch ohne gibt es bei den meisten apache server das problem das du ein bestimmtes sicherheits protokoll abschlaten bzw erweitern musst da ansonnsten schon von apache der upload verweigert wird und nicht unbedingt duch einen fehler im script
 
hi hab mir das script grade nochmal genauer angschaut und gesehen das da noch ein parr ungereimt heiten sind ich werde mich heute mal damit beschäftigen und dir als bald die fehlerliste zukommen lassen wenn du willst kannst du mich auch unter msn oder icq ansprechen
 
Hallo erstmal!

Also irgendwie kann ich mir nicht vorstellen das das , wie greifst du denn auf die Datei die du Hochladen willst zu (also den Namen der Datei, die Größe, die Dateiendung etc.) da musst du dich doch irgendwie auf dem Namen aus deinem Formular beziehen, sonst weis der doch gar nicht wo er das her nehmen soll. Verstehst du? Wenn du willst kann ich dir heute abend mal mein Script zeigen, dann kannst du gucken was du noch ändern kannst bzw. musst.
 
Zurück