Datei Freischaltungs Script

Hallo ich wollte fragen ob einer von euch ein Script kennt womit man sagen kann Datei X wird z.B. am 1.1.2010 erst freigeschaltet. Also das man erst ab dem Datum die Datei sehen kann.
Ich bräuchte nämlich so ein Script für meine Webseite, ich hoffe ihr könnt mir helfen.

Kommt auf die Dateiart an (zB. Bild) und das gewünschte Resultat.

Also bitte mehr Details :wink:

Grundsätzlich ist es ganz einfach.
Man überprüft mit PHP, ob das Datum schon erreicht wurde, z.B. so:

<?php if(time() > strtotime("2010-1-1 0:00")) { //... }
Und führt dann die Aktion aus (Link zur Datei ausgeben, Datei ausgeben, …)

Des wäre ne .html Datei wo ein Text drin steht.

Kann man da auch dann so ne Meldung bringen z.B. Seite erst am XY erreichbar?

dasbuchderweisheit.de/leseprobe2.html diese datei z.B. soll erst ab 1.1.2010 erreichbar sein kannste mir den Code dazu ganz schicken wäre cool bin net so ein prof =).

aaaalso …
Dafür musst du die .html datei in .php umbenennen die funktionen bleiben gleich, die verlinkung musst du auch neu machen
dann schreibst du ganz oben in die dasbuchderweisheit.de/leseprobe2.html datei rein:

<?php if(date(d.m.Y) < "01.01.2010") { header('Location: http://dasbuchderweisheit.de/'); exit; } ?>

Um einen bestimmten Teil der Seite zu verstecken kannst du auch folgenden Code verwenden. Die Datei muss aber ebenfalls auf .php enden.

[code]…

Die Vorschau auf das Buch

<?php if (time() < strtotime('2009/07/21 12:30:00')) : ?> Noch nicht veröffentlicht <?php else: ?>

Das ist der Text mit Veröffentlichungsdatum

<?php endif: ?>

(C) Hans Muster

...[/code]

Ok habe es probiert da kommt jetzt Parse error: syntax error, unexpected ':', expecting ';' in /users/janusra/www/test.php on line 6

Könnt es selbst auf dasbuchderweisheit.de/test.php sehen was ist da falsch?

[code]

Die Vorschau auf das Buch

<?php if (time() < strtotime('2009/12/24 16:30:00')) : ?>

Noch nicht veröffentlicht

<?php else: ?>

Veröffentlichung am 24.12.2009 um 16:30 Uhr

<?php endif: ?>

(C) Janus Raiden

[/code]

Das ist der Quellcode.
Was mache ich falsch? line 6 ist <?php endif: ?> muss ich da die Zeit nommel einfügen?

Habe des jetzt in leseprobe2.html eingefügt da wird zwar jetzt des angezeigt aber wenn ich ein Datum für nächste Woche oder so nehmen kann man immernoch die Seite ansehen =(…
Und wenn ich die in PHP umbenenne geht gar nichts mehr =(.

ähh, ja. Bei endif muss ein Semikolon statt Doppelpunkt ans Ende.

[code]

Die Vorschau auf das Buch

<?php if (time() < strtotime('2009/12/24 16:30:00')) : ?>

Noch nicht veröffentlicht

<?php else: ?>

Veröffentlichung am 24.12.2009 um 16:30 Uhr

<?php endif; ?>

(C) Janus Raiden

[/code]

Ähm jo da kommt zwar jetzt

"Noch nicht veröffentlicht

© Janus Raiden"

Aber den Text kann man immernoch anschauen wie kann ich den verstecken?

Vielleicht habe ich mich falsch ausgedrückt, ich will den Text schon vorab schreiben und dann halt erst ab einem gewissen datum abrufbar machen.

Warum baut ihr alle so komischen Mist mit strtotime oder sogar einem String-Vergleich???
at.php.net/mktime

<?php if(time() < mktime(0, 0, 0, 1, 1, 2010)): ?>

  <!-- HTML goes here (vor dem 1.1.) -->

<?php else: ?>

  <!-- HTML goes here (nach dem 1.1.) -->

<?php endif; ?>

PHP funktioniert nur, wenn die Datei mit der Endung .php gespeichert wird. Sonst kann der Code nicht ausgeführt werden und es wird alles angezeigt.
Ich hab dir mal ein Beispiel hochgeladen.
Quellcode, für dich wichtig ist der Teil zwischen

[code]

[/code]

@michi7x7: Mit strtotime lässt sich die Zeit für PHP-Laien einfacher angeben finde ich. mktime ist aber sicher schneller :wink:

JO jetzt gehts thx =).

Oh, hab ganz vergessen: $_SERVER[‘SCRIPT_NAME’] statt $_SERVER[‘PHP_SELF’] verwenden (XSS-Schutz)!