• Hi Leute, ich schon wieder :roll:
    ich habe ein Suchscript, das läuft ganz hervorragend, allerdings gibt es mir jede Seite der HP, in der das gesuchte Wort vorkommt, als xxx.php aus. Diese wird dann mit <...href="$file"...> aufgerufen. Da ich aber meine Seiten mit index.php?site=xxx einfüge, kommt hier ein Problem auf, da index.php?site=xxx.php nicht geht.
    Kann ich also das .php von der Variablen $file irgendwie wegschneiden?

    mFg
    K. R. Eyden

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress, WoltLab & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

    Wenn du Fragen hast, kannst du dich gerne jederzeit an @Maximilian Rupp wenden

    Hinweis:

  • Die einfachste Möglichkeit wäre, wenn du das Suchscript selbst entsprechend anpasst. Da du dessen Code nicht gepostet hast kann ich dazu auch nichts genaueres sagen.

    Eine andere Möglichkeit wäre htaccess, wobei ich davon aber in dem Fall abraten würde, da du sicher auch mal normale ".php"-Dateien aufrufen willst.


  • das copyright hab ich mal weggelassen, ist von artmedic

    mFg
    K. R. Eyden

  • Code
    $_tmp = explode(".",$file)
    $_extension = $_tmp(sizeof($_tmp)-1)
    $_filename = join("",$_tmp)

    Moin, ich hab das mit Absicht so gelöst, da es ja sein kann das auch Dateien im Format 123.inc.php vorliegen könnten
    somit würde dann im filename 123.inc stehen und in extenstion halt das php. Wenn Du natürlich genau weisst das die DAteien NUR im Format xyz.php vorliegen dann kannst du natürlich auch das dann getrost so schreiben:

    Code
    $_tmp = explode(".",$file)
    $_extension = $_tmp(sizeof($_tmp)-1)
    $_filename = $_tmp[0]


    Gäbe natürlich noch andere Lösungen.
    Kleiner Tipp: am besten dieses in eine eigene function coden dann kannst du da öfter drauf zugreifen bzw. verwenden.
    Liebe Grüsse.[/code]

  • äh, ok also verstanden habe ich deinen Code schonmal...aber wo genau soll ich das jetzt einfügen oO
    weil das sind ja völlig neue Variablen, da muss ich doch ne Reihenfolge einhalten oder oO

    mFg
    K. R. Eyden

  • Ich weiß nicht, aber würde es nicht reichen, einfach ".php" und ".inc.php" durch "" zu ersetzen?

    Im Sinne von

    Code
    $query = str_replace(".inc.php", "", $query);
    $query = str_replace(".php", "", $query);

    Grüße
    Genesis

    Aber der Dunst, Moe, der Dunst!

  • Hi am besten fügst du das hier zwischen ein und tauscht einmal $file aus

    Genesis
    Dein Einwand bzw. die Frage ist berechtigt. Nur gehe ich generell immer davon aus, das der Dateiname vorher nicht bekannt ist, Bsp:
    yst.php
    yst.inc.php
    yst.inc.2.old.mal.bak.php
    wenn dir die dateinamen bekannt bzw. geläufig sind, kannst du das durchaus mit deiner Lösung auch lösen, nur bei z.B. 120 Dateien hast du sehr viel sourcecode getippelt und somit wird das script irgendwan sehr lastig. Wie gesagt sonst gehts natürlich auch, nur ich geh immer wie gesagt davon aus die ermittelten Dateinamen nicht bekannt sind und somit ermittel ich generell die extension und der rest ist dateiname. Was natürlich durchaus weiterverarbeitet werden kann. Z.B. da die Extension bekannt ist könnte man nun z.B. auch ne sicherheitsabfrage machen wenn man z.B. wirklich NUR Dateien mit der Endung PHP ausgeben lassen will, es kann ja sein das sich auch andere Dateiformate im Dir befinden. Das könntest du nun ganz einfach mittels z.B. if(strtolower($extension) = "php")
    usw usw.

  • Huch @K.R.Eyden
    bei mir hat sich da ein kleiner Fehlerteufel eingeschlichen, beim letzten part ist was nicht i.O. Ich bitte um Sorry. Hab dafür dir das ganze mal korrekt als Function geschrieben, dann kannst das öfter mal verwenden.

    füge diese am besten ganz oben ein:

    aufrufen und z.B. nur den Dateiname zu erfassen kannst du dann einfach mittels splitFilePath("name.inc.bla.suelz.php","filename")
    Hier das ganze nochmal anhand deines codes:


    Ich hoffe ich hab da jetzt nicht wieder was vergessen bzw. übersehen.

  • :huepf:
    ha es geht...mann ich packs nich :D mein F5-Knopf is schon ganz abgenutzt

    Dir vielen vielen tausend Dank murray_de_luxe... :respekt:
    jetzt kann ich wieder ruhig schlafen^^

    //Edit: aber was mich mal intressiern würd: bei deinem vorigen code die variable $_extension war doch völlig unnützlich oder? wurde ja nirgends mehr gebraucht...

    mFg
    K. R. Eyden

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!