Php-Programmierung / wie Dateien verlinken

Hallo allerseits
Ich möchte in php zwei unterschiedliche Links ansteuern.
Leider habe ich noch nicht viel Ahnung von php. Ich wäre sehr dankbar, wenn mir jemand eine Lösung oder Tips geben geben könnte , wie man das realisieren kann .

Darstelleung meines Problems :
Mit einem php-Script soll wahlweise eine von 2 Dateien ausgewählt werden

Die 1.) ist eine Datei , die aussagt, dass die Beschreibung noch in Arbeit ist.

Die 2.) ist die fertige Beschreibung

Da es mehrere Beschreibungen gibt, soll die zugehörige Nummer der Beschreibung durch eine Variable ($action) festgelegt gelegt werden.

Nach meiner Vorstellung könnte die Sache vielleicht wie folgt aussehen:

If-Abfrage ob die Datei : “ beschreibung_01_$action.html“ ( oder .php) vorhanden ist .

a) falls nein : mit href zur Datei “ beschreibung_00_$action.html“ ( oder php ) verlinken

b) falls ja : mit href zur Datei “ beschreibung_01_$action.html“ ( oder php ) verlinken

Ließen sich das evt. mit einer Kombination . von if else realisieren ?

Leider habe ich keine Ahnung , wie der Code aussehen müßte. Wer kann mir helfen ?
MfG De-Viert

Hi,

also du möchtest das Hyperlinks angezeigt werden? wenn deine „beschreibung“ nicht fertig ist (also datei nicht existiert) soll der link einer seite angezeigt werden, auf der steht, dass die beschreibung in arbeit ist und ansonsten soll zur beschreibung verlinkt werden. hab ich das richtig verstanden? wenn ja:

$action = $\_GET['action']; //wenn du $action schon hast, lösche diese zeile

if(file\_exists("beschreibung\_01\_$action.html"))
 echo "[beschreibung\_01\_$action.html](beschreibung_01_%2524action.html)";
else
 echo "[beschreibung\_00\_$action.html](beschreibung_00_%2524action.html)";

alternativ gäbe es noch die möglichkeit direkt den inhalt ausgeben zu lassen (anstatt der verlinkung):

$action = $\_GET['action']; //wenn du $action schon hast, lösche diese zeile

if(file\_exists("beschreibung\_01\_$action.html"))
 echo file\_get\_contents("[beschreibung\_01\_$action.html](beschreibung_01_%2524action.html)");
else
 echo file\_get\_contents("[beschreibung\_00\_$action.html](beschreibung_00_%2524action.html)");

bei diesem schnipsel müssen die html-dateien im gleichen verzeichnis, wie die php-datei sein

Hallo Josef,
DU hast das genau richtig verstanden.Ich habe den Script
noch nicht eingebaut, aber ich denke , er ist genau richtig.
Vielen Dank für Deine Hilfe!

MfG de-Vieert

dann ist ja gut
viel erfolg

allerdings ist mir ein copy-paste-fehler unterlaufen beim 2. schnipsel. es muss heißen:

$action = $\_GET['action']; //wenn du $action schon hast, lösche diese zeile

if(file\_exists("beschreibung\_01\_$action.html"))
 echo file\_get\_contents("beschreibung\_01\_$action.html");
else
 echo file\_get\_contents("beschreibung\_00\_$action.html");

hier ist Deine Antwort:

<?PHP $arbeit = 'beschreibung_00_'.$action.'.html';
$fertig = 'beschreibung\_01\_'.$action.'.html'; if ( file\_exists ( $fertig ) ) { echo '[fertige Beschreibung';}else{ echo ']('%20.%20%24fertig%20.%20')[in Bearbeitung]('.%2524arbeit.')'; } ?\> Bei den Dateien den Pfad mit einbeziehen falls notwendig [http://selfphp.de/funktionsreferenz/dateisystem\_funk...](http://selfphp.de/funktionsreferenz/dateisystem_funktionen/file_exists.php) Ich nutze die Funktionsreferenz regelmäßig... Ich hoffe ich habe Dir geholfen mfg dresslers

In etwa so:

<?php $file = 'beschreibung_01_'.$action.'.html';
if(!file\_exists($file)) $file = 'beschreibung\_00\_$action.html'; header('Location: '.$file); ?\>

Wenn ichs richtig verstanden habe sollte der Code ungefähr so aussehen. Je nachdem ob die Datei existiert wird der User auf diese oder eine andere Seite weitergeleitet.
Es darf jedoch vorher keine Ausgabe gemacht werden sonst funktioniert „header()“ nicht.

settype($action, "int");

if(file\_exists("beschreibung\_01\_".$action.".html"))
 header("Location: http://www.beispiel.de/beschreibung\_01\_".$action.".html");
else
 header("Location: http://www.beispiel.de/beschreibung\_00\_".$action.".html");

?\>