pretor31: dateiname auslesen

hi leute,
ich bastel grad an einer recht umfangreichen seite. 90% der dateien sind php- bzw inc-dateien.
die dateien werden per id übergeben (<a href="?id=...." ..>, allerdings ohne endung.
bei mir wird dann ".php.inc" als default gesetzt.
wie mach ich das, dass der id-string auf die endung überprüft wird, oder genauer, wie überprüf ich ob innerhalb der letzten 5 zeichen ein punkt vorkommt?
wär dies nämlich der fall soll einfach die andere datei *.htm *.html *.pdf oder was auch immer geöffnet werden.
thx pretor

  1. hi,

    wie mach ich das, dass der id-string auf die endung überprüft wird, oder genauer, wie überprüf ich ob innerhalb der letzten 5 zeichen ein punkt vorkommt?

    schau dich bitte bei den string-funktionen von PHP um, http://www.php.net/manual/de/ref.strings.php.

    gruß,
    wahsaga

    --
    I'll try being nicer if you'll try being smarter.
    1. Hi,

      schau dich bitte bei den string-funktionen von PHP um, http://www.php.net/manual/de/ref.strings.php.

      japp, aber da ich jetz schon so nett war und die links rausgekramt hab:

      http://www.php.net/manual/en/function.strpos.php wenn maximal ein punkt vorkommt

      oder eine kombination aus http://www.php.net/manual/en/function.strrpos.php und [http://www.php.net/manual/en/function.strlen.php] wenn auch im dateinamen selber punkte vorkommen können.

      Gruss
      shin

      1. alles klar, danke euch beiden!
        gruß pretor

  2. Hello,

    ich bastel grad an einer recht umfangreichen seite. 90% der dateien sind php- bzw inc-dateien.
    die dateien werden per id übergeben (<a href="?id=...." ..>, allerdings ohne endung.
    bei mir wird dann ".php.inc" als default gesetzt.

    *.php.inc ist unpraktisch, wenn man die Datei bei Direktaufruf nicht unbedingt im Browser anzeigen will. Besser wäre *.inc.php  und im Kopf der Datei eine Abfrage auf eine Konstante, die in der Hauptdatei gesetzt wird:

    define("_PROJECT","Ver1.2");

    und in der aufgerufenen:

    if(!defined(_PROJECT) or _PROJECT != "Ver1.2")
      die("diese Datei darf nicht direkt aufgerufen werden");

    Um Dein Problem mit den Punkten zu klären, könntest Ud auch

    $_nameparts = explode('.',$name);

    Dann kannst Du mit
    count($_nameparts) feststellen, wieviele Punkte drin sind (einer weniger als Teile) und mit
    strlen(end($_nameparts)) feststellen, wie lang der letzte Abschnitt ist.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau