Datenbank & bilder

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datenbank & bilder

    Hallo,

    der Code und was er machen soll:

    bilder uploaden - sollen aber nach bestimmter zeit gelöscht werden.
    alles geht und auch aus der datenbank werden die einträge gelöscht.
    Nur wie mache ich es, das auch die dateien (Bilder) gelöscht werden???

    unlink is klar aber wie binde ich es ein???
    Bin seit 2 tagen am "lesen tun" und hab auch schon "guckst du hier" gemacht.

    der dateiname steht in der db und setzt sich zusammen aus "$bildname"-k."$typ"

    Code:
    <?
    
    require "inc.php";
    
    
    
    
    
    // Bild klein
    $sb_k = 90;
    $sh_k = 90;
    
    // Bild gross
    $sb_g = 400;
    $sh_g = 400;
    
    if (!isset($abdiepost))
        {
    ?>
    <FORM ENCTYPE="multipart/form-data" ACTION="<?PRINT $PHP_SELF;?>" METHOD=POST><center>
        <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="100000" SIZE=35>
        Welches Bild möchten Sie anzeigen lassen? (Befindet sich auf Ihrer Festplatte)<br><INPUT NAME="UPLOADPIC" TYPE="file"><br><br>
        Unter welchem Namen soll es gespeichert werden?<br><INPUT TYPE="TEXT" NAME="name" SIZE=40><br><br>
        <INPUT TYPE="submit" NAME="abdiepost" VALUE="Bild senden" ></center>
    </FORM>
    <?
    }else{
    
    
        $k_size = getimagesize ("$UPLOADPIC");
        $g_size = getimagesize ("$UPLOADPIC");
        $type = $k_size[2]; 
        $G_UPLOADPIC = "$UPLOADPIC";
        $K_UPLOADPIC = "$UPLOADPIC";
    		 if ($type == 1) { 
    		$endung="gif";
    		$imageCreateFrom=imageCreateFromgif;
    		$image=imagegif;
     		} else if ($type == 2) { 
    			$endung=jpg;
    			$imageCreateFrom=imageCreateFromjpeg;
    			$image=imagejpeg;
     			} else if ($type == 3) { 
    				$endung="png";
    				$imageCreateFrom=imageCreateFrompng;
    				$image=imagepng;
    				} else { 
    						echo "Dieses Format wird nicht unterstüzt!"; 
    exit;} 
    $ip=$REMOTE_ADDR;
    $url=$HTTP_REFERER ;
    $datum = date ("U");
    $time=($datum-60);
    $bildname="$name-$datum";
    	$mysql_link =mysql_connect($mysql_host, $mysql_user, $mysql_pass);
    	$sql = "INSERT INTO $mysql_table(datum, name, ip, url, bildname, typ)  VALUES ('$datum', '$name' , '$ip', '$url', '$bildname', '$endung')"; 
    	$resultat = mysql_db_query($mysql_base, $sql, $mysql_link); 
    
        // Verarbeitung kleines Bild
        if ($k_size[0] < $sb_k)
            {
            // Also die Breite passt, da müssen wir nix tun
            $K_NB = $k_size[0];
            $K_NH  = $k_size[1];
            }
        else
            {
            // Jetzt ist also Handlungsbedarf
            // Also berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
            $ProportionFaktor = $k_size[0] / $sb_k;
            $K_NB = $sb_k;
            $K_NH  = round($k_size[1] / $ProportionFaktor);
            }
    
        // Verarbeitung grosses Bild
        if ($g_size[0] < $sb_g)
            {
            // Also die Breite passt, da müssen wir nix tun
            $G_NB = $g_size[0];
            $G_NH  = $g_size[1];
            }
        else
            {
            // Jetzt ist also Handlungsbedarf
            // Also berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
            $GProportionFaktor = $g_size[0] / $sb_g;
            $G_NB = $sb_g;
            $G_NH  = round($g_size[1] / $GProportionFaktor);
            }
    
        // So das mit der Breite hätten wir, nun die Höhe
    
        // Verarbeitung kleines Bild
        if ($K_NH < $sh_k)
            {
            // Also die Hoehe passt, da müssen wir nix tun
            }
        else
            {
            // Jetzt ist also Handlungsbedarf
            // Also berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
            $ProportionFaktor = $K_NH / $sh_k;
            $K_NH = $sh_k;
            $K_NB  = round($K_NB / $ProportionFaktor);
            }
        
        // Verarbeitung grosses Bild
        if ($G_NH < $sh_g)
            {
            // Also die Hoehe passt, da müssen wir nix tun
            }
        else
            {
            // Jetzt ist also Handlungsbedarf
            // Also berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
            $GProportionFaktor = $G_NH / $sh_g;
            $G_NH = $sh_g;
            $G_NB  = round($G_NB / $GProportionFaktor);
            }
    
        // Und jetzt geht es munter weiter <img src="images/smilies/biggrin.gif" border="0" alt="">
    
        // Verarbeitung kleines Bild
        $groesse=k;
        if ($k_size[0] == $K_NB && $k_size[1] == $K_NH) {
            // Da mußte das Bild nicht verkleinert werden
            copy ($K_UPLOADPIC, "images/$name-$datum-$groesse.$endung");
    	$tk="bild kann so bleiben";
            }    else  {
           	 // Hier wird PIC verkleinert und gespeichert
           	 $td=imageCreate($K_NB, $K_NH);
       	     $ts=$imageCreateFrom($K_UPLOADPIC);
      	      imageCopyResized($td, $ts, 0, 0, 0, 0, $K_NB, $K_NH, $k_size[0], $k_size[1]);
     	       $image($td,"images/$name-$datum-$groesse.$endung");
    		$tk="Bild musste geändert werden!";
            }
          $groesse=g;
        // Verarbeitung grosses Bild
        if ($g_size[0] == $G_NB && $g_size[1] == $G_NH)        {
            // Da mußte das Bild nicht verkleinert werden
            copy ($G_UPLOADPIC, "images/$name-$datum-$groesse.$endung");
    	$tg="bild kann so bleiben";
            }    else       {
            // Hier wird PIC verkleinert und gespeichert
            $td1=imageCreate($G_NB, $G_NH);
            $ts1=$imageCreateFrom($G_UPLOADPIC);
            imageCopyResized($td1, $ts1, 0, 0, 0, 0, $G_NB, $G_NH, $g_size[0], $g_size[1]);
            $image($td1,"images/$name-$datum-$groesse.$endung");
    	$tg="Bild musste geändert werden!";
            }
    
    
    echo"<br><img src=\"./images/$name-$datum-g.$endung\"<br>$tg
    <br><br><br><img src=\"./images/$name-$datum-k.$endung\"<br>$tk";
    
    
    
    $result=mysql_query("DELETE FROM 'mysql_table' WHERE datum<'$time'");
    
    
    
    	mysql_close($mysql_link);
    
    
    
    }
    DANKE

  • #2
    Bestimmt schlecht gemacht aber es geht

    Code:
    echo"<br><img src=\"./images/$name-$datum-g.$endung\"<br>$tg
    <br><br><br><img src=\"./images/$name-$datum-k.$endung\"<br>$tk";
    $sql = "SELECT * FROM '$table'";
    $result = mysql_db_query($mysql_base, $sql, $mysql_link);
    while ( $resultat = mysql_fetch_array($result)) {
    	if ($time > $resultat[datum]) {
    unlink("./images/$resultat[bildname]-k.$resultat[typ]");
    unlink("./images/$resultat[bildname]-g.$resultat[typ]");
    echo"@unlink($resultat[bildname]-k.$resultat[typ]);@unlink($resultat[bildname]-g.$resultat[typ]);";
    }}
    $result=mysql_query("DELETE FROM '$table' WHERE datum<'$time'");
    mysql_close($mysql_link);
    }
    ?>
    wenn`s einer besser -> eleganter oder was auch immer kann bitte posten
    DANKE

    Kommentar


    • #3
      Scheint wohl ein vernünftige Ansatz zu sein, aber ich denke mir Du solltest beim Select Statement die Where Bedingung nicht vergessen sonst läufst Du Gefahr sämtliche Pics aus dem Filesystem zu löschen.

      Code:
      $sql = "SELECT * FROM '$table' WHERE datum < '$time'";

      Kommentar


      • #4
        Hai,

        kann ich mir dann

        if ($time > $resultat[datum]) {

        sparen?

        Kommentar

        Lädt...
        X