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