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

[ERLEDIGT] Erstellte Bilder nach ausgabe wider löschen

Mathmos

Neues Mitglied
Hallo,

ich erstelle mit folgendem Code, einen Haufen QR-Codes....
Diese werden alle gespeichert um dann alle angezigt zu werden.
Danach möchte ich sie aber löschen.
Aber leider bekomme ich das nicht gebacken, egal wo ich bisher unlink hingeschrieben habe, wurden zwar die Bilder gelöscht, aber vor der Anzeige.
Dh., es wurden keine Bilder mehr angezeigt.

PHP:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Cleanerplan</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href=css/style.css" />
</head>
<body>
<?php

include("auth.php");
include("dbconnect.php");
include("BarcodeQR.php");

    // Session user_id und Name holen, wenn nicht auslesbar -> zurück zum login
    if (isset($_SESSION["user_id"]) && isset($_SESSION["user_name"]) && isset($_SESSION["wg_id"]))
    {
        $userID=$_SESSION["user_id"];
        $userName=$_SESSION["user_name"];
        $wgID=$_SESSION["wg_id"];
        $wgAdmin = $_SESSION["wg_admin"];
    }
    else
    {
        echo "Es ist ein Fehler aufgetreten.";
        echo "<br />";
        echo "Bitte neu einloggen.";
        echo ' <meta http-equiv="refresh" content="2; url=v1/index.php?s=login">';
    }

    $keyarray = array(); 
    
    $result_rm = mysql_query("SELECT rm_id, rm_name FROM raeume WHERE wg_id='".mysql_real_escape_string($wgID)."'");
    while ($row_rm = mysql_fetch_array($result_rm))
    {
        $rmName = $row_rm['rm_name'];
    
        
        //zeilen 
        $result_stlln = mysql_query("SELECT stlln_id, stlln_name, rm_id FROM stellen WHERE rm_id='".mysql_real_escape_string($row_rm['rm_id'])."' AND wg_id='".mysql_real_escape_string($wgID)."'");
        while ($row_stlln = mysql_fetch_array($result_stlln))
        {
            $stllnID = $row_stlln['stlln_id'];
            $stllnName = $row_stlln['stlln_name'];
            $rmID = $row_stlln['rm_id'];
        
            $amount = 8;
            include("key.php");
            //echo $randkey ;
        
            // set BarcodeQR object
            $qr = new BarcodeQR();
            // create URL QR code
            $qr->url("http://xxl-pc.de/cleanerplan/v1/".$stllnID."/".$rmID."/".$wgID."");
            // display new QR code image
            $qr->draw(100, "temp/".$randkey.".png");
            

            // Bild mit Untertiele versehen
            //-----------------------------
            $im     = imagecreatefrompng("temp/".$randkey.".png");
            $tb_categorier = imagettfbbox(10, 0, 'font/VERDANAB.TTF', str_replace("_", " ", $rmName));
            $x_categorier = ceil((96 - $tb_categorier[2]) / 2);
            $tb_cleaningpoint = imagettfbbox(10, 0, 'font/VERDANAB.TTF', str_replace("_", " ", $stllnName));
            $x_cleaningpoint = ceil((96 - $tb_cleaningpoint[2]) / 2);
            $black = ImageColorAllocate ($im, 0, 0, 0);
            ImageTTFText ($im, 10, 0, $x_categorier, 11, $black, "font/VERDANAB.TTF", str_replace("_", " ", $rmName));
            ImageTTFText ($im, 10, 0, $x_cleaningpoint, 96, $black, "font/VERDANAB.TTF", str_replace("_", " ", $stllnName));
            imagepng($im, "temp/".$randkey.".png");
            //-----------------------------
            

            // "Rahmen" vergrößern
            //-----------------------------
            $image = imagecreatefrompng("temp/125.png");
            // Wasserzeichen --> Resource
            $embed = imagecreatefrompng("temp/".$randkey.".png");
            // einbetten
            imagecopy($image, $embed, 12, 12, 0, 0, imagesx($embed), imagesy($embed));
            imagepng($image, "temp/".$randkey.".png");
            //-----------------------------
            
            array_push($keyarray, $randkey);
            echo "<img src='temp/".$randkey.".png'>\n"; 
            
            
        }
    }
?>

<form>
<input type="button" value=" drucken " onClick="javascript:window.print()">
</form>
</body>
</html>

Grüße
 
Danke.

Meine Lösung sieht nun wie folgt aus.
Wenn jemand nun QR-Codes erstellt, wird am Ende geprüft, ob Bilder im Ordner sind,
die älter als 5 Tage sind und diese werden dann gelöscht.

PHP:
    // Bilder löschen, die älter als 5 Tage sind
    //-----------------------------
    $timestamp = time();
    $allpics = scandir('temp');
    foreach ($allpics as $pic)
    {
        if($pic!="." && $pic!="..")
        {
            if(strcmp($pic, "125.png") != 0)
            {
                if(filectime("temp/".$pic."")+432000 < $timestamp)
                unlink("temp/".$pic."");
            }
        }
    }
    //-----------------------------
 
Zurück
Oben