Admin: PIC-Upload und Probs

Hallo Leute,
ihr kennt das doch auch, dann sitzt ihr da alle wollen was und du bist nur verpeilt. Die Directory soll in die Datenbank eingetragen werden leider leider macht der statt dem Pfad "upload/5" <-(5=ID durch URL mitgegeben) den Pfad "upload//", kA warum. Die ID wird ueber die URL mitgegeben. Und noch eine Frage wird das so sauber laufen wie es geprogt ist
Danke schonmal
gruss
Marcel

Hier das Script:

<form action="<?echo $PHP_SELF?>" enctype="multipart/form-data" method=POST>
<input type="hidden" name="MAX_FILE_SIZE" value="500000">
<input type=file name=file size=50>
<input type="submit" value="submit">
</form>
<?
$exist=isset($id);
echo $exist;
$dir = "upload/$id/";
if($file) {
$exist=isset($id);
echo $exist;
$dest = "$dir/$file_name";
echo "$dir";
if (!copy($file, $dest)) {
      echo "Fehler - kann Datei nicht ablegen<br>\n";
      exit;
   }
}
$fd = opendir($dir);
while($cover = readdir($fd)) {

if(eregi(".(jpg|gif|png)$",$cover)) {
      echo "<a href="$dir/$cover">";
      echo "<img src="$dir/$cover" align=middle border=0 height=80 width=80>";
      echo "</a> $dir$cover<br>\n";

//Verbindung herstellen
include('inc/db_connect.inc.php4');

//SQL- ANWEISUNG
$sql = "Update tbl_wohnbau set $pic='$dir/$cover' WHERE id=$id";
$result=mysql_query($sql,$db);

}
}
closedir($fd);
?>

  1. Hallo Leute,
    ihr kennt das doch auch, dann sitzt ihr da alle wollen was und du bist nur verpeilt.

    ...all the time :)

    Hier das Script:

    [...]

    <input type=file name=file size=50>
    <input type="submit" value="submit">

    <?
    $exist=isset($id);
    echo $exist;

    ??? was bringt dir das ?

    if(isset($id)) echo "ID Gesetzt -> $id";

    $dir = "upload/$id/";

    was passiert wenn $id sowas wie: "../../../etc/passwd" ist ?

    if(is_nummeric($id)) $dir="upload/".$id."/";

    if($file) {

    $file ist immer gesetzt, auch wenn kein File übertragen wurde (enthält dann "NONE")

    if($file!="none") {

    $exist=isset($id);
    echo $exist;

    warum nochmal ? Glaubst du das sich der wert ohne dein zutun verändert ?

    $dest = "$dir/$file_name";
    echo "$dir";

    wenn du vars ausgibst spar dir die "" das bremst den interpreter ziemlich aus.

    echo $dir;

    if (!copy($file, $dest)) {
          echo "Fehler - kann Datei nicht ablegen<br>\n";
          exit;
       }
    }

    $fd = opendir($dir);
    while($cover = readdir($fd)) {

    Autsch, das ist böse:
    while (false !== ($cover = readdir($fd))) {

    siehe auch http://www.php.net/manual/en/function.readdir.php

    [....]

    lg
    Ludwig

    PS:  http://aktuell.de.selfhtml.org/artikel/phpasp/php-uploadcheck/index.htm Werbung muss sein :)