Fileinfo

Hab wieder mal ein Problem…

Die finfo beispielfunktion von php.net

$finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension
foreach (glob("*") as $filename) {
    echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);

funktioniert bei mir nicht…

Fehlermeldung:

Warning: finfo_file() [function.finfo-file]: File or path not found 'nbproject' in D:\programming\htdocs\scms\_test.php on line 25

das glob() scheint zu funktionieren, denn in den Fehlermeldungen sind die richtigen Dateinamen drin.

ein “./” vor den Dateinamen zu setzten habe ich auch schon versucht. Nützt nix

mfg
tracert

P.S. Ich nutze XAMPP mit PHP 5.3 auf einem lokalen Server

was ist, wenn du ein DIR.’/’.$filename setzt?

gleiches Ergebnis:

File or path not found ‘D:\programming\htdocs\scms_test.php/_db.sql’

auch mit backslash geht es nicht.

Könnte das ein bug in php sein? Weil Die funktion von php.net müsste doch eig funktionieren…

Sieht nach Bug oder Fehlkonfiguration aus. Warum steht “_test.php” mit im DIR? Das sollte eigentlich nur den Pfad ausgeben ohne Dateiname.

Es wird noch interessanter:

Wenn ich einen expliziten pfad angebe (Die Datei existiert 100%-ig)

$finfo = finfo_open(FILEINFO_MIME_TYPE);
echo finfo_file($finfo, "D:\programming\htdocs\scms\footer.php");
finfo_close($finfo);

kommt folgende Fehlermeldung:

Warning: finfo_file() [function.finfo-file]: File or path not found ‘D:\programming\htdocs[b]scmsooter.php[/b]’ in D:\programming\htdocs\scms_test.php on line 28

der unterschlägt da ein paar zeichen…

Wenn du Pfade direkt eingibst musst du entweder den Slash ‘/’ verwenden oder den Backslash, aber dann doppelt ‘\’ (nur bei Windows möglich)

Und verwende mal dirname(FILE) statt DIR :wink:

ou, natürlich, ich depp. habs jetzt in single quotes und da gehts (mit expliziter Pfadangabe)
Werds aber vll. jetzt eh nur nach der Dateiendung machen. Das ist zwar nicht so sicher, des ist aber nicht so wichtig, da es nur um die Anzeige passender Icons geht.

EDIT: OK, geht jetzt sowohl mit DIR als auch mit dirname(FILE) und ganz normalem slash.