Antworten auf deine Fragen:
Neues Thema erstellen

Bild nach bestimmter zeit ändern | PHP

T

tommy_gFm

Guest

AW: Bild nach bestimmter zeit ändern | PHP

Also einen Fehler hab ich geunden und behoebn auber ich weiß nicht was er in zeile 7 für einen Feheler findet... (Zeile 7: $noereigniss = $_POST['noereigniss'];)

timestamp.txt:1288207825


ereigniss.txt: <img src='bl.gif' />test234<img src='bl.gif' /><br><font face='Verdana' size='5'>27.10.2010<br /><br />Siehe NEWS</font>

Zu ereigniss.txt: ja ich weiß dass ich da viel sch*** rein programmiert hab, ich habs aber nach ner anleitung gemacht...

mfg thomas
 

saila

Moderatorle

AW: Bild nach bestimmter zeit ändern | PHP

Also, den Teil, welcher mir für dich wichtig erscheint ist folgender:

Den HTML-Teil kannst du wie folgt ändern (sieht auch besser aus):
PHP:
<html>
    <head>
        <title>Ereignisse</title>
    </head>
    <body style="background: #f6ecbb; font-family: Verdana, Arial, Helvetica, Sans-Serif; font-size: 90%;">
<?php 
echo time() .'<br /><br />';
if($beitrag != '') {
    
    $han = fopen($filePathName, 'r');
    while(!feof($han)) {
        $buf = fgets($han, 4096);
        
        $d = explode(':', $buf);
        
        if(isset($d[0], $d[1]) && $d[0] === 'timestamp.txt' && time() > ($d[1] + 400)) {
            echo $d[0] .' / '. $d[1] .'<br />';
        }
        
    }
    fclose($han);
        

    
} else {    
    echo '<div>Keine Datei vorhanden.</div>';
}
?>
Vor diesen HTML-Teil muss noch folgendes:
PHP:
<?php
$filePathName     = 'files/timestamp.txt';
$beitrag        = '';

if(file_exists($filePathName) === true) {
    $beitrag = file($filePathName);
}
?>
Was passiert also nachdem du die Daten in die Datei geschrieben hast: Zum einen musst du die Datei öffnen und auslesen. Die Schleife durchläuft alle Einträge in der Datei und prüft, ob der Eintrag an Dateiname vorhanden ist, welcher gesucht wird und prüft darüber hinaus, ob die Zeit abgelaufen ist.

Was noch fehlt, ist den jeweiligen Eintrag löschen, bei welchem die Zeit kleiner als 3 Tage ist.Wobei die 3 Tage ja entsprechend einem Parameter in Form einer Variablen angelegt werden kann.

Somit ist die Datei im Grunde extrem klein und performant.

Dein Scriptteil habe ich einmal korrigiert und mit meinen Korrekturen / Anpassungen ergänzt:
PHP:
<?php
/* error ausgabe für alle bugs die es geben kann */
error_reporting(E_ALL);

/* set date */
$datum            = date("d.m.Y");

/* check post indices */
$submit         = isset($_POST['submit']) ? $_POST['submit'] : '';
$noereigniss     = isset($_POST['noereigniss']) ? $_POST['noereigniss'] : '';
$ereigniss         = isset($_POST['ereigniss']) ? $_POST['ereigniss'] : '';

/* edit/secure values */
$ereigniss         = htmlentities($ereigniss);
$ereigniss = str_replace("\n", "<br>", $ereigniss);

/* check submit */
if(trim($submit) != '') {
    
    /* check noereigniss */
    if(trim($noereigniss) != '') {
        
        $eintrag="<img src='bla.png' /><p>PLATZHALTER<br><font face='Verdana' size='5'>$datum</font></p><img src='bla.png' />";

        $datei = fopen("ereigniss.txt", "w+");
        fwrite($datei, $eintrag);
        fclose($datei);
    }

    if($ereigniss) {
        $eintrag="<img src='bl.gif' />$ereigniss<img src='bl.gif' /><br><font face='Verdana' size='5'>$datum<br /><br />Siehe NEWS</font>";

        $datei = fopen("ereigniss.txt", "w+");
        fwrite($datei, $eintrag);
        fclose($datei);
              
        $t=time();
        $a=15;
        $e=$t+$a;
            
        $eintrag2="$e";
              
        $datei2 = fopen("timestamp.txt", "w+");
        fwrite($datei2, $eintrag2);
        fclose($datei2);
    }
    
    //Ab da ist die Automatisierung
    $beitrag2 = file("timestamp.txt");
    $t=time();
     
    while ($t<=$ausgabe2) {
        foreach($beitrag2 as $ausgabe2) {
            $ausgabe2 = stripslashes($ausgabe2);
        }    
    
        if ($t>=$ausgabe2) {
            $eintrag="SUPER ES HAT GEKLAPPT!!!";
        
            $datei = fopen("ereigniss.txt", "w+");
            fwrite($datei, $eintrag);
            fclose($datei);
        
        } else {
            if ($t>=$ausgabe2) {
                $eintrag="SUPER ES HAT GEKLAPPT!!!";
    
                $datei = fopen("ereigniss.txt", "w+");
                fwrite($datei, $eintrag);
                fclose($datei);
            }
        }
    }
    //Und da ists dann aus
}


$filePathName     = 'files/timestamp.txt';
$beitrag        = '';

if(file_exists($filePathName) === true) {
    $beitrag = file($filePathName);
}

?>
<html>
    <head>
        <title>Ereignisse</title>
    </head>
    <body style="background: #f6ecbb; font-family: Verdana, Arial, Helvetica, Sans-Serif; font-size: 90%;">
<?php 
echo time() .'<br /><br />';
if($beitrag != '') {
    
    $han = fopen($filePathName, 'r');
    while(!feof($han)) {
        $buf = fgets($han, 4096);
        
        $d = explode(':', $buf);
        
        if(isset($d[0], $d[1]) && $d[0] === 'timestamp.txt' && time() > ($d[1] + 400)) {
            echo $d[0] .' / '. $d[1] .'<br />';
        }
        
    }
    fclose($han);
        

    
} else {    
    echo '<div>Keine Datei vorhanden.</div>';
}
?>
</body>
</html>
In der Datei, in welcher die Daten stehen, hatte ich folgende Einträge:
Code:
timestamp.txt:1288207825
timestamp.txt:1288211034
timestamp.txt:1288212034
timestamp.txt:1288213034
timestamp.txt:1288214034
timestamp.txt:1288215034
Wenn du nun die "400" entsprechend erhöhst, kannst du schön prüfen, welche Zeit für welche Datei abgelaufen ist. Besser ist es natürlich, den Bildnamen zu speichern, wie du es urprünglich auch vor hattest.

Hat noch etwas gedauert, weil ich noch Abendessen war :)
 
T

tommy_gFm

Guest

AW: Bild nach bestimmter zeit ändern | PHP

Hallo

Kein Promblem dass du beim Essen wars,ob ich dass jz heute oder morgen hab ist auch schon egal....

Danke erstmal für die arbeit!!! :danke::daumenhoch:

mfg thomas

---------------------------------------------------------------------------------------------------

Irgenwie geht das nicht so ganz...

Wollt ihr vl die upload page auch haben??
 
Zuletzt bearbeitet von einem Moderator:

saila

Moderatorle

AW: Bild nach bestimmter zeit ändern | PHP

In dem letzten Scriptblock ist alles enhalten. Ich habe lediglich für den Aufbau beschrieben, wo noch was hin muss.

Der Uploadbereich ist ja hier nicht benannt. Ansonsten kannst du durchstarten :)
 
T

tommy_gFm

Guest

AW: Bild nach bestimmter zeit ändern | PHP

ja schon klar, aber irgendwie lassen die zwei sich nicht mitenander verkuppeln...

achso: in der fehlermeldung stand dass die zeile 52 bei der while anwendung nen fehler hat -> was ist da los??

mfg thomas
 

saila

Moderatorle

AW: Bild nach bestimmter zeit ändern | PHP

Wie sieht die Fehlermeldung aus? Mein Scriptcode ist nicht getestet und somit auch nur in Teilen angepasst ;)
 
T

tommy_gFm

Guest

AW: Bild nach bestimmter zeit ändern | PHP

Hi

ich hab jetzt nochmal rumgebastelt, ausprobiert usw. und jetzt funktionierts!
Das einzige was jetzt noch ist ist dass ich die textänderung auf die bildänderung, zeiteinstellung etc machen muss

@all (speziell an saila): danke für eure hilfe!!

mfg thomas
 

saila

Moderatorle

AW: Bild nach bestimmter zeit ändern | PHP

Gerne. Denk allerdings daran, dass du bei jedem Durchlauf der *.txt auch prüfen musst, ob bereits timestamps mit dem aktuellen timestamp abelaufen ist und diese dann auch zu löschen sind.
Ansonsten müllt sich die Datei mit wertlosem zu ;)
 
T

tommy_gFm

Guest

AW: Bild nach bestimmter zeit ändern | PHP

ja
es überschreibt immer den wert beim absenden der datei.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.619
Beiträge
1.538.363
Mitglieder
67.540
Neuestes Mitglied
Alex Weidner
Oben