Likes Likes:  0
Resultaten 1 tot 7 van de 7
Geen
  1. #1
    Pieter Van Isacker
    [PHP] regular expression voor een directory
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    [PHP] regular expression voor een directory

    Hallo

    Op mijn site zou ik graag een overzicht maken van alle grappige foto's
    die ik al toegezonden heb gekregen, nu heb ik een pagina waarmee je door
    directories kan surfen en ik heb ook een pagina die de foto's weergeeft.
    Onderaan die pagina zou je moeten kunnen doorklikken naar de vorige of
    volgende foto. Daarvoor gebruik ik regular expressions. Het bestand dat
    de foto's moet weergeven krijgt telkens een variabele mee in de aard
    van: /goodies/foto/derest/foto/fotod063.jpg
    Nu is het me al gelukt om een deel te kunnen gebruiken van die variabele
    : zijnde de tekst en de getallen in de bestandsnaam en de extensie maar
    ik zou wel de directory ook moeten kunnen achterhalen, hoe doe ik dat?
    Het kan zijn dat je meer of minder subdirectories hebt ook.
    Hoe kan ik dit oplossen?
    Alvaste bedankt
    Pieter
    --
    --------------------
    http://pieterv.free.fr
    remove nospam from e-mail
    -------------------


  2. #2
    Wimjan
    [PHP] regular expression voor een directory
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] regular expression voor een directory

    Pieter Van Isacker schreef:
    > Hallo
    >
    > Op mijn site zou ik graag een overzicht maken van alle grappige foto's
    > die ik al toegezonden heb gekregen, nu heb ik een pagina waarmee je door
    > directories kan surfen en ik heb ook een pagina die de foto's weergeeft.
    > Onderaan die pagina zou je moeten kunnen doorklikken naar de vorige of
    > volgende foto. Daarvoor gebruik ik regular expressions. Het bestand dat
    > de foto's moet weergeven krijgt telkens een variabele mee in de aard
    > van: /goodies/foto/derest/foto/fotod063.jpg
    > Nu is het me al gelukt om een deel te kunnen gebruiken van die variabele
    > : zijnde de tekst en de getallen in de bestandsnaam en de extensie maar
    > ik zou wel de directory ook moeten kunnen achterhalen, hoe doe ik dat?
    > Het kan zijn dat je meer of minder subdirectories hebt ook.
    > Hoe kan ik dit oplossen?
    >

    Ik spreek geen PHP, maar bevat die taal geen rindex()-functie? Een
    oplossing zou ~ kunnen zijn:

    hethelepad = "/goodies/foto/derest/foto/fotod063.jpg";
    mydir = substr(hethelepad, 0, rindex(hethelepad, '/'));

    in woorden: mydir is gelijk aan hethelepad minus het deel na de laatste
    slash.


    Een andere oplossing (met een regexp):

    mydir = "/goodies/foto/derest/foto/fotod063.jpg";
    mydir =~ s/^(.*\/).*$/$1/;


    Hmm, even zoeken op php.net levert de veel meer voor de hand liggende
    functie dirname() op <http://www.php.net/manual/en/function.dirname.php>:

    <citaat>

    dirname -- Returns directory name component of path

    Description

    string dirname ( string path)

    Given a string containing a path to a file, this function will return the
    name of the directory.

    On Windows, both slash (/) and backslash (\) are used as path separator
    character. In other environments, it is the forward slash (/).

    Example 1. dirname() example

    $path = "/etc/passwd";
    $file = dirname ($path); // $file is set to "/etc"

    </citaat>

    > Alvaste bedankt
    > Pieter


    Groet,

    Wimjan

    --
    Iemands e-mailadres kwijt? Probeer m'n meta e-mail zoeker eens op
    <http://inventio.nl/metanamesearch/>

  3. #3
    WebTeckie
    [PHP] regular expression voor een directory
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] regular expression voor een directory

    On Mon, 23 Dec 2002 22:06:59 +0100, Pieter Van Isacker <pierrevi@nospamyucom.be>
    wrote:

    [...]

    > Het bestand dat
    >de foto's moet weergeven krijgt telkens een variabele mee in de aard
    >van: /goodies/foto/derest/foto/fotod063.jpg
    >Nu is het me al gelukt om een deel te kunnen gebruiken van die variabele
    >: zijnde de tekst en de getallen in de bestandsnaam en de extensie maar
    >ik zou wel de directory ook moeten kunnen achterhalen, hoe doe ik dat?


    <?php
    // $_GET['foto'] is de 'variabele in de aard van'
    if(preg_match('/\.(jpg|gif|png)$/', $_GET['foto']))
    {
    //safe - we vragen om een plaatje
    $dir = dirname($_GET['foto']);
    $foto = basename($_GET['foto']);
    }
    else
    {
    // yeah-right-sure - doei
    header("Location: http://www.google.com/search?q=luser");
    exit;
    }
    ?>

    PS: nog effe wachten op 4.3, dan zal je met de 'glob' functie ook veel kunnen:
    http://www.php.net/glob
    --
    WebTeckie
    Programming is like art: it only looks like chaos.

  4. #4
    Pieter Van Isacker
    [PHP] regular expression voor een directory
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] regular expression voor een directory

    WebTeckie wrote:
    > On Mon, 23 Dec 2002 22:06:59 +0100, Pieter Van Isacker <pierrevi@nospamyucom.be>
    > wrote:
    >
    > [...]
    >
    >
    >>Het bestand dat
    >>de foto's moet weergeven krijgt telkens een variabele mee in de aard
    >>van: /goodies/foto/derest/foto/fotod063.jpg
    >>Nu is het me al gelukt om een deel te kunnen gebruiken van die variabele
    >>: zijnde de tekst en de getallen in de bestandsnaam en de extensie maar
    >>ik zou wel de directory ook moeten kunnen achterhalen, hoe doe ik dat?

    >
    >
    > <?php
    > // $_GET['foto'] is de 'variabele in de aard van'
    > if(preg_match('/\.(jpg|gif|png)$/', $_GET['foto']))
    > {
    > //safe - we vragen om een plaatje
    > $dir = dirname($_GET['foto']);
    > $foto = basename($_GET['foto']);
    > }
    > else
    > {
    > // yeah-right-sure - doei
    > header("Location: http://www.google.com/search?q=luser");
    > exit;
    > }
    > ?>


    Ok ik kan nu al de directory achterhalen maar hoe moet ik nu de extensie
    van de vorige of volgende foto achterhalen om die bij de link te
    plaatsen? iets met filetype() of zo?
    pieter

    --
    --------------------
    http://pieterv.free.fr
    remove nospam from e-mail
    -------------------


  5. #5
    Daniel Tryba
    [PHP] regular expression voor een directory
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] regular expression voor een directory

    In nl.internet.www.server-side Pieter Van Isacker <pierrevi@nospamyucom.be> wrote:
    > Ok ik kan nu al de directory achterhalen maar hoe moet ik nu de extensie
    > van de vorige of volgende foto achterhalen om die bij de link te
    > plaatsen? iets met filetype() of zo?


    Voor plaatjes: http://nl.php.net/manual/en/function.imagetypes.php

    --

    Daniel Tryba


  6. #6
    Wouter Verhelst
    [PHP] regular expression voor een directory
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] regular expression voor een directory

    In article <3e084699$0$29642$ba620e4c@news.skynet.be>,
    Pieter Van Isacker <pierrevi@nospamyucom.be> writes:
    > Ok ik kan nu al de directory achterhalen maar hoe moet ik nu de extensie
    > van de vorige of volgende foto achterhalen om die bij de link te
    > plaatsen? iets met filetype() of zo?


    Kan je zelf je eigen server configureren? Is dat een Apache-server?

    Zo ja, dan is dat heel simpel: vergeet de extensie, en configureer je
    server zo dat hij content-negotiation ondersteunt. Je kunt dan
    enerzijds verschillende versies van dezelfde foto on-line zetten
    (bijvoorbeeld een .png en een .gif) waarbij de browser en de server
    zelf overeenkomen welke versie afgehaald wordt, terwijl je anderzijds
    je extensie helemaal niet moet meegeven ;-)

    Content negotiation aanzetten in Apache doe je door de module
    negotiation_module te laden. In mijn configuratie zit er een lijn als
    volgt in m'n httpd.conf:

    LoadModule negotiation_module /usr/lib/apache/1.3/mod_negotiation.so

    Normaal gezien zullen andere webservers dit ook ondersteunen, maar hoe
    je het dan moet configureren is een andere...

    --
    wouter at grep dot be

    "Human knowledge belongs to the world"
    -- From the movie "Antitrust"

  7. #7
    Pieter Van Isacker
    [PHP] regular expression voor een directory
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] regular expression voor een directory

    Wouter Verhelst wrote:
    > In article <3e084699$0$29642$ba620e4c@news.skynet.be>,
    > Pieter Van Isacker <pierrevi@nospamyucom.be> writes:
    >
    >>Ok ik kan nu al de directory achterhalen maar hoe moet ik nu de extensie
    >>van de vorige of volgende foto achterhalen om die bij de link te
    >>plaatsen? iets met filetype() of zo?

    >
    >
    > Kan je zelf je eigen server configureren? Is dat een Apache-server?
    >
    > Zo ja, dan is dat heel simpel: vergeet de extensie, en configureer je
    > server zo dat hij content-negotiation ondersteunt. Je kunt dan
    > enerzijds verschillende versies van dezelfde foto on-line zetten
    > (bijvoorbeeld een .png en een .gif) waarbij de browser en de server
    > zelf overeenkomen welke versie afgehaald wordt, terwijl je anderzijds
    > je extensie helemaal niet moet meegeven ;-)
    >
    > Content negotiation aanzetten in Apache doe je door de module
    > negotiation_module te laden. In mijn configuratie zit er een lijn als
    > volgt in m'n httpd.conf:
    >
    > LoadModule negotiation_module /usr/lib/apache/1.3/mod_negotiation.so
    >
    > Normaal gezien zullen andere webservers dit ook ondersteunen, maar hoe
    > je het dan moet configureren is een andere...
    >


    Zal niet lukken bij mij, heb nog altijd een gratis server maar je kan er
    dan ook niet alles op, ik denk dat ik mijn foto's toch maar beter in een
    database zal zetten.
    Pieter

    --
    --------------------
    http://pieterv.free.fr
    remove nospam from e-mail
    -------------------


Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics