• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Upload Probleme... [Name unbennen]

Status
Für weitere Antworten geschlossen.
Hallo zusammen,
ich habe ein Problem, da ich bei mir auf der Community Seite ein Usersystem gemacht habe (20% ich, rest mein Programmierer) mit vielen Tools, etc.

Undzwar habe ich ein Bildupload eingebaut.
Funktioniert auch alles wunderbar.
Nur, wenn einer die gleiche Datei mit dem gleichen Dateinamen hat dann überschreibt es und es kommt zu Fehlern mim Profil.
Deswegen möchte ich irgendwas einbauen, wo der beim Uploaden die Datei unbennt.
Ich habe mal eins gesehen.
Bei dem war das so z.B. 51&Ich.jpg [51 für die ID des Bildes] & [Ich = Bildname], aber ich wär auch zufrieden das er z.B. 78266372663.jpg oder so macht
wink.gif


Hier der PHP Code:
PHP:
<?
if(logged_in()){
$prefix = "iv_";
  if( !empty( $_FILES['file']['tmp_name'] )) {
  $dir = "Userpics";
  if($_POST['kat'] == "...") echo'Bitte eine Kategorie auswählen!<br>';
  if(empty($_POST['kom'])) echo'Bitte einen Kommentar angeben!<br>';
  if(isset($_POST['kom']) && $_POST['kat'] != "..."){
  if( $_FILES['file']['type'] == "image/gif" || $_FILES['file']['type'] == "image/jpeg" || 
      $_FILES['file']['type'] == "image/png" || $_FILES['file']['type'] == "image/pjpeg"   ) {
    
    $endung = explode( "/", $_FILES['file']['type'] );
    if( $_FILES['file']['type'] == "image/pjpeg" ) $endung[1] = "jpeg";
    $res = mysql_query( "INSERT INTO ".$prefix."images ( id, besitzer, name, kommentar, kategorie, userid ) 
                        VALUES ( '', '".$_SESSION[name]."', '".$_FILES['file']['name']."', '".$_POST['kom']."', '".$_POST['kat']."', '".$_SESSION[id]."')", $link );
if( $fileid = mysql_insert_id( $link ) ) {
      if( @copy ( $_FILES['file']['tmp_name'], "uploads/".$dir."/".$_FILES['file']['name']."" ) )
                         echo "<p align=\"center\">Upload von ".$_FILES['file']['name']." erfolgreich!</p>";
                       
   else echo "<p align=\"center\">Upload von ".$_FILES['file']['name']." Fehlgeschlagen...</p>";
       } else {
      echo '<p align="center">Fehler: '.mysql_error().'</p>';
    }
  } else {
    echo '<p align="center">Fehler: Ungültiges Format!</p>';
  }
   }
}
  
   if( !empty( $_GET['del'] )) {
     $res = mysql_query( "SELECT * FROM ".$prefix."images WHERE id = '$_GET[del]' AND besitzer = '$_SESSION[name]';", $link);
     if( $image = mysql_fetch_assoc( $res )) {
    $dir = "Userpics";
    @unlink( 'uploads/'.$dir.'/'.$image['name'].'' );
    $res = mysql_query( "DELETE FROM ".$prefix."images WHERE id = '$_GET[del]' AND besitzer = '$_SESSION[name]';", $link); 
    echo '<p align="center">Bild gelöscht!</p>';
  }
   }
   if( !empty( $_GET['delall'] )) {
     $res = mysql_query( "SELECT * FROM ".$prefix."images WHERE besitzer = '$_SESSION[name]';", $link);
     while( $image = mysql_fetch_assoc( $res )) {
    $dir = "Userpics";
    @unlink( 'uploads/'.$dir.'/'.$image['name'].'' );
    mysql_query( "DELETE FROM ".$prefix."images WHERE id = '$image[id]' AND besitzer = '$userdata[name]';", $link); 
    echo '<p align="center">Bild '.$image['name'].' gelöscht!</p>';
  }
   }
    echo '<form enctype="multipart/form-data" action="'.PAGE_SELF.'" method="POST"><input type="hidden" name="MAX_FILE_SIZE" value"1048576">';
    echo 'Datei:<br> <input type="file" name="file" size="20"><br>Kommentar:</br><input type="text" name="kom" size="20"></br>Kategorie :</br><select size="1" name="kat">
<option value="...">Bitte wählen...</option>
<option value="Habbo Bilder">Habbo Bilder</option>
<option value="Männlich">Männlich</option>
<option value="Weiblich">Weiblich</option>
<option value="Sonstiges">Sonstiges</option>
</select><br><br>';
    echo '<input type="submit" value="Speichern"></form><br><b>Hochgeladene Bilder</b></br></br></br>';

 $res = mysql_query( "SELECT * FROM ".$prefix."images WHERE besitzer = '$_SESSION[name]';", $link);
 echo '<table width="70%" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#C0C0C0"  align="center">'; $i = 1; $dir = "Userpics";
 while( $image = mysql_fetch_assoc( $res ) ) {
     echo ( $i % 2 == 0 ) ? '<tr bgcolor="#EEEEEE">' : '<tr>';$i++;
   if( !is_file( 'uploads/'.$dir.'/'.$image['name'].'' )) {
     mysql_query( "DELETE FROM ".$prefix."images WHERE id = '$image[id]' AND besitzer = '$userdata[name]';", $link);
  echo '<td colspan="3">Das Bild '.$image['name'].' wurde von Administrator gelöscht.</td></tr>'; 
   } else {
     echo '<td bgcolor="#EEEEEE" colspan="2" align="left"><a href="uploads/'.$dir.'/'.$image['name'].'" target="_blank">'.$image['name'].'</a></td><td bgcolor="#E2E2E2" colspan="2">Link: 
      <input type="text" value="****/'.$dir.'/'.$image['name'].'" size="20" /></td><td bgcolor="#E9E9E9" colspan="2" align="right">';
     echo '<a href="'.PAGE_SELF.'&del='.$image['id'].'" onclick="return window.confirm(\'Wirklich löschen?\');">[X]</a></td>';
   }
 }
 echo '</table><br><br><a href="'.PAGE_SELF.'&delall=1" onclick="return window.confirm(\'Wirklich alle löschen?\');"></a>';
}
else
echo'Bitte einloggen!';
?>


In dem Skript ist auch das Löschen der Bilder eingebaut
wink.gif





Nebenbei noch eine Frage : Bei mir auf den neuen Rootserver funktioniert kein <?php include? Wo kann der Fehler sein?
 
schau dir mal dein skript an, beim rüberfliegen sind schon diverse fehler....
"image/pjpeg"
d = '$_GET[del]' hier sollte man wenigstens ein (int) erzwingen ...
zudem würde ich gerne ml wissen was passiert wenn jemand bei dir h'a"ck3r heißt ......
 
schau dir mal dein skript an, beim rüberfliegen sind schon diverse fehler....
"image/pjpeg"
d = '$_GET[del]' hier sollte man wenigstens ein (int) erzwingen ...
zudem würde ich gerne ml wissen was passiert wenn jemand bei dir h'a"ck3r heißt ......

Mh..
Naja, da muss ich das mal durchgeben, aber wenn einer schon hackt kommt er doch niocht ins Admin? Weil Admin Panel hat nix mit dem Usersystem zutuen. Das Usersystem läuft ganz normal über Seiten.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben