# Prüfen ob DAtei vorhanden ist wenn ja.....



## xony (3. Februar 2005)

Hallo Leute,
ich erstelle mit folgendem Code eine DAtei.
Nun würde ich gerne Prüfen ob die DAtei schon vorhanden ist, wenn ja dann sollte eine Warnmeldung ausgegeben werden.
Bisher ist es so das er mir die DAtei einfach überschreibt.


```
$datei = '_'.tep_get_pages_title($pInfo->pages_id, $languages[$i]['id']).".php";
$text =  '<? $seite=basename(__FILE__);'." require('includes/pages.php');  ?>";

if(tep_get_pages_title($pInfo->pages_id, $languages[$i]['id']) != ''  ){
$textdatei = fopen (DIR_FS_DOCUMENT_ROOT.$datei, "w+"); /*a+ : Öffnet die Datei zum Lesen und Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen.*/
fwrite($textdatei, $text); /*schreibt in die txt-Datei die Daten die in der variablen $text vorgegeben sind */
fclose($textdatei);
}
```

DAnke euch für evtl. Vorschläge.


----------



## Sven Petruschke (3. Februar 2005)

--> [phpf]file_exists[/phpf]
--> [phpf]is_file[/phpf]


----------



## xony (3. Februar 2005)

DAnke hab eine LÖsung gefunden.
Allerdings ist es so dass dieses DAteien erstellen überhaupt nicht auf Bedingungen reagiert.
Es wird schon beim einfachen Aufruf der Seite eine neue DAtei erstellt.
Ich würde das aber gerne mit Bedingungen verknüpfen.

z.b.


```
if ($HTTP_GET_VARS['action'] == 'new_page'){
$textdatei = fopen (DIR_FS_DOCUMENT_ROOT.$datei, "w+"); /*a+ : Öffnet die Datei zum Lesen und Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen.*/
fwrite($textdatei, $text); /*schreibt in die txt-Datei die Daten die in der variablen $text vorgegeben sind */
fclose($textdatei);
}
}
```

Hier wird überhaupt nicht reagiert auf die Bedingung.
Obwohl die Bedingung aber zutrifft.
Ich habs mit anderem Code getestet da  es.

Habt Ihr einen Tipp warum das so ist.

DAnke.


----------



## Timbonet (3. Februar 2005)

$HTTP_GET_VARS sollte nicht mehr verwendet werden (hat den Status "deprecated") und sollte durch $_GET ersetzt werden. Ausserdem stimmt da schonmal was mit deinen Klammern nicht, du öffnest eine und schliesst zwei.


----------



## xony (3. Februar 2005)

Ja danke.
Die Klammern sind ok, da kommt noch was vor dem Code.

Es ist aber so das wenn ich mir dieses:

```
if($HTTP_GET_VARS['action'] == 'new_page'){
  echo hallllllllllllllloo;
  }
```

ausgeben lasse, dann funktionierts.
Also müsste doch HTTP_GET_VARS funktionieren, oder nicht?.

Wenn ich mit $_GET Arbeite dann gehts auch nicht.
Das kann doch nicht sein, das auf keine Bedingung reagiert wird.

Mensch..Mensch da ist der Wurm drinn.

Gruss


----------

