Seite 1 von 1

file_exists

Verfasst: 28.09.2002 13:21
von PhilippK
Hallo zusammen,

seit ein paar Tagen werden bei einer Testinstallation von phpBB die Template-Dateien nicht erkannt. Nach einiger Überprüfung bin ich nun so weit, dass das ganze an der PHP-Funktion 'file_exists()' liegt.

Interessant dabei (wenn $file der Dateiname ist):
file_exists($file) findet die Datei nicht
file_exists(realpath($file)) findet die Datei

Das ganze unter PHP 4.2.3 auf Apache 2.0.40

Irgendwelche Ideen?

Gruß, Philipp

Verfasst: 28.09.2002 15:13
von biototo
file_exists() guckt nur in dem verzeichnis in dem das skript auch tatsächlich läuft, wenn du keine pfadangaben machst!!! wenn das skript im hauptverzeichnis läuft und die file_exists() in ein anderes verzeichnis machst ohne pfadangaben, dann funktioniert das nicht ...

bei deinem problem würde ich mir mal genau anschauen, was in $file drin steht ... dann sollte man das beheben können ...

Verfasst: 28.09.2002 15:19
von PhilippK
Biototo,

eigentlich sollte es genau wie in deiner Beschreibung funktionieren:

Code: Alles auswählen

<?php

$dir = './';
$file_dir = Array();

$handle = opendir($dir);
while (false !== ($file = readdir($handle)))
{
	if ($file != '.')
		$file_dir[] = $file;
}
sort($file_dir, SORT_STRING);

echo('<b>Verzeichnis: ' . $dir . '</b><br>');
foreach($file_dir as $file)
{
	echo($file);
	if (file_exists($file))
	{
		echo(' (existiert)');
	}
	echo(' - ');
	$file = realpath($file);
	echo($file);
	if (file_exists($file))
	{
		echo(' (existiert)');
	}
	echo('<br>');
}

?>
Die Dateien existieren immer nur bei der zweiten Überprüfung...

Gruß, Philipp

Verfasst: 28.09.2002 15:41
von Pyramide
enthält denn include_path das aktuelle Verzeichnis (.)? Wenn nicht, versuch mal das mit ini_set hinzuzufügen.

Verfasst: 28.09.2002 15:46
von PhilippK
Erst mal Danke für die Unterstützung.

Also include_path ist eigentlich richtig gesetzt - an dem kann es auch nicht liegen...

Gruß, Philipp

Verfasst: 04.10.2002 01:16
von PhilippK
Scheint ein Fehler in PHP / Apache zu sein:
http://bugs.php.net/bug.php?id=19741

Hab zur Info 'nen neuen Beitrag aufgemacht:
http://www.phpbb.de/viewtopic.php?p=80120#80120

Gruß und nochmals Danke,

Philipp