Bekijk Volledige Versie : Gericht mappen zoeken op server
Meldpunt Zangvogeloverlast
12/09/09, 09:55
Beste mensen!
Al mijn videoembeds heb ik op de server in mapjes staan met een naam die
begint met video 'video'.
Nu wil ik een script als die mapjes laten vinden.
Weet iemand misschien een slimme manier daarvoor?
Eigenlijk is het een script dat zichzelfs steeds maar moet herhalen (zoek
map => zoek supmap => totdat 'geen map meer' of (substring,5 map='video').
Maar hoe doe je dat, zondat dat het scripts zich tot het oneindige in de
knoop draait?
--
Groeten, Eduard
Ronald Klip
12/09/09, 13:55
Op Sat, 12 Sep 2009 09:54:01 +0200 schreef Meldpunt Zangvogeloverlast
<meldpunt.zangvogeloverlast@xs4all.nl>:
> Beste mensen!
Eduard!
> Al mijn videoembeds heb ik op de server in mapjes staan met een naam die
> begint met video 'video'.
>
> Nu wil ik een script als die mapjes laten vinden.
>
> Weet iemand misschien een slimme manier daarvoor?
> Eigenlijk is het een script dat zichzelfs steeds maar moet herhalen (zoek
> map => zoek supmap => totdat 'geen map meer' of (substring,5
> map='video').
>
> Maar hoe doe je dat, zondat dat het scripts zich tot het oneindige in de
> knoop draait?
Recursie toepassen, oftewel een functie gebruiken die indien nodig
zichzelf aanroept.
--
Ronald
Erick T. Barkhuis
12/09/09, 14:05
Ronald Klip:
> Op Sat, 12 Sep 2009 09:54:01 +0200 schreef Meldpunt Zangvogeloverlast
> <meldpunt.zangvogeloverlast@xs4all.nl>:
>
> > Beste mensen!
>
> Eduard!
>
> > Al mijn videoembeds heb ik op de server in mapjes staan met een naam die
> > begint met video 'video'.
> >
> > Nu wil ik een script als die mapjes laten vinden.
>
> Recursie toepassen, oftewel een functie gebruiken die indien nodig
> zichzelf aanroept.
....waarbij nog wel even van belang is te weten, of
'video*'-directories zelf ook weer 'video*'-directories kunnen
bevatten, en zo ja, of je die apart genoemd wilt hebben in het
resultaat.
--
Erick
Meldpunt Zangvogeloverlast
12/09/09, 17:25
Ronald!
Op zaterdag 12 september 14:03, in artikel
MPG.2515ac688a96d7c69898f1@127.0.0.1, Erick T. Barkhuis
<erick.use-net@ardane.c-o-m> schreef:
> Ronald Klip:
>> Op Sat, 12 Sep 2009 09:54:01 +0200 schreef Meldpunt Zangvogeloverlast
>> <meldpunt.zangvogeloverlast@xs4all.nl>:
>>
>>> Beste mensen!
>>
>> Eduard!
>>
>>> Al mijn videoembeds heb ik op de server in mapjes staan met een naam die
>>> begint met video 'video'.
>>>
>>> Nu wil ik een script als die mapjes laten vinden.
>>
>> Recursie toepassen, oftewel een functie gebruiken die indien nodig
>> zichzelf aanroept.
>
> ...waarbij nog wel even van belang is te weten, of
>
> 'video*'-directories zelf ook weer 'video*'-directories kunnen
> bevatten, en zo ja, of je die apart genoemd wilt hebben in het
> resultaat.
Nee: video-directories bevatten altijd slechts één embedded filmpje en
sowieso geen sub-directories.
Dat maakt het natuurlijk iets makkelijker...
--
Groeten, Eduard
Meldpunt Zangvogeloverlast
12/09/09, 17:25
Op zaterdag 12 september 13:46, in artikel op.uz46z606u6ldbc@pwrbk.local,
Ronald Klip <nieuws@contentecontent.invalid> schreef:
> Op Sat, 12 Sep 2009 09:54:01 +0200 schreef Meldpunt Zangvogeloverlast
> <meldpunt.zangvogeloverlast@xs4all.nl>:
>
>> Beste mensen!
>
> Eduard!
>
>> Al mijn videoembeds heb ik op de server in mapjes staan met een naam die
>> begint met video 'video'.
>>
>> Nu wil ik een script als die mapjes laten vinden.
>>
>> Weet iemand misschien een slimme manier daarvoor?
>> Eigenlijk is het een script dat zichzelfs steeds maar moet herhalen (zoek
>> map => zoek supmap => totdat 'geen map meer' of (substring,5
>> map='video').
>>
>> Maar hoe doe je dat, zonder dat het script zich tot het oneindige in de
>> knoop draait?
>
> Recursie toepassen, oftewel een functie gebruiken die indien nodig
> zichzelf aanroept.
Ja, eh... zoiets dacht ik dus, maar hoe doe je zoiets..?
--
Groeten, Eduard
Erick T. Barkhuis
12/09/09, 17:35
Meldpunt Zangvogeloverlast:
>
>
>
> Op zaterdag 12 september 13:46, in artikel op.uz46z606u6ldbc@pwrbk.local,
> Ronald Klip <nieuws@contentecontent.invalid> schreef:
>
> > Op Sat, 12 Sep 2009 09:54:01 +0200 schreef Meldpunt Zangvogeloverlast
> > <meldpunt.zangvogeloverlast@xs4all.nl>:
> >> Al mijn videoembeds heb ik op de server in mapjes staan met een naam die
> >> begint met video 'video'.
> >>
> >> Nu wil ik een script als die mapjes laten vinden.
> > Recursie toepassen, oftewel een functie gebruiken die indien nodig
> > zichzelf aanroept.
>
> Ja, eh... zoiets dacht ik dus, maar hoe doe je zoiets..?
Zie bijvoorbeeld
http://de.php.net/manual/en/class.dir.php
In de bijdragen staan verschillende oplossingen. Daar waar
directorynamen worden opgeslagen vraag je extra uit op
(substr($entryNaam,0,5)="video").
--
Erick
Meldpunt Zangvogeloverlast
12/09/09, 21:05
Erick!
Op zaterdag 12 september 17:30, in artikel
MPG.2515dd1357f8f7c89898f4@127.0.0.1, Erick T. Barkhuis
<erick.use-net@ardane.c-o-m> schreef:
> Meldpunt Zangvogeloverlast:
>>
>>
>>
>> Op zaterdag 12 september 13:46, in artikel op.uz46z606u6ldbc@pwrbk.local,
>> Ronald Klip <nieuws@contentecontent.invalid> schreef:
>>
>>> Op Sat, 12 Sep 2009 09:54:01 +0200 schreef Meldpunt Zangvogeloverlast
>>> <meldpunt.zangvogeloverlast@xs4all.nl>:
>
>>>> Al mijn videoembeds heb ik op de server in mapjes staan met een naam die
>>>> begint met video 'video'.
>>>>
>>>> Nu wil ik een script als die mapjes laten vinden.
>
>>> Recursie toepassen, oftewel een functie gebruiken die indien nodig
>>> zichzelf aanroept.
>>
>> Ja, eh... zoiets dacht ik dus, maar hoe doe je zoiets..?
>
> Zie bijvoorbeeld
> http://de.php.net/manual/en/class.dir.php
Prachtig! Prachtig!
Op z¹n Jan Boerefluitjes werd het dus dit:
<?php
$it = new RecursiveDirectoryIterator('./');
foreach (new RecursiveIteratorIterator($it, 2) as $path)
{
if ($path->isDir())
{
if ( (strstr($path,"/video")) && (!strstr($path,"video/") ) &&
(!strstr($path,"/archief/video") ) )
{
$path=substr($path,1);
echo $path."<br>\n";
}
}
}
?>
Zie http://www.harmonicahoek.nl/dirzoek.php
Alleen: hoe krijg ik dit resultaat nou 'ondersteboven'?
(arsort lukte me niet).
--
Groeten, Eduard
Erick T. Barkhuis
13/09/09, 10:25
Meldpunt Zangvogeloverlast:
> <?php
> $it = new RecursiveDirectoryIterator('./');
>
> foreach (new RecursiveIteratorIterator($it, 2) as $path)
> {
> if ($path->isDir())
> {
> if ( (strstr($path,"/video")) && (!strstr($path,"video/") ) &&
> (!strstr($path,"/archief/video") ) )
> {
> $path=substr($path,1);
> echo $path."<br>\n";
> }
> }
> }
> ?>
>
> Zie http://www.harmonicahoek.nl/dirzoek.php
>
> Alleen: hoe krijg ik dit resultaat nou 'ondersteboven'?
> (arsort lukte me niet).
In plaats van
echo $path."<br>\n";
doe je
$resultArray[] = $path;
Wel even $resultArray bovenin leeg creeren.
Vervolgens kun je aan het eind van de iteratie dat array sorteren en
afdrukken.
--
Erick
Meldpunt Zangvogeloverlast
13/09/09, 11:05
Op zondag 13 september 10:24, in artikel
MPG.2516cac0bdcbfb8f9898f5@127.0.0.1, Erick T. Barkhuis
<erick.use-net@ardane.c-o-m> schreef:
> Meldpunt Zangvogeloverlast:
>
>> <?php
>> $it = new RecursiveDirectoryIterator('./');
>>
>> foreach (new RecursiveIteratorIterator($it, 2) as $path)
>> {
>> if ($path->isDir())
>> {
>> if ( (strstr($path,"/video")) && (!strstr($path,"video/") ) &&
>> (!strstr($path,"/archief/video") ) )
>> {
>> $path=substr($path,1);
>> echo $path."<br>\n";
>> }
>> }
>> }
>> ?>
>>
>> Zie http://www.harmonicahoek.nl/dirzoek.php
>>
>> Alleen: hoe krijg ik dit resultaat nou 'ondersteboven'?
>> (arsort lukte me niet).
>
> In plaats van
> echo $path."<br>\n";
> doe je
> $resultArray[] = $path;
>
> Wel even $resultArray bovenin leeg creeren.
Je bedoelt unset($resultArray)?
Is niet nodig.
Werkt zo ook. Ik had al inderdaad gedacht aan het plaatsen in een array.
Dank.
--
Groeten, Eduard
Erick T. Barkhuis
13/09/09, 11:15
Meldpunt Zangvogeloverlast:
> > Wel even $resultArray bovenin leeg creeren.
>
> Je bedoelt unset($resultArray)?
Nee, ik bedoel
$resultArray = array();
> Is niet nodig.
> Werkt zo ook.
Je boft. :-)
--
Erick
Meldpunt Zangvogeloverlast
14/09/09, 13:05
Erick!
Op zondag 13 september 11:10, in artikel
MPG.2516d591f5a87b759898f6@127.0.0.1, Erick T. Barkhuis
<erick.use-net@ardane.c-o-m> schreef:
> Meldpunt Zangvogeloverlast:
>
>>> Wel even $resultArray bovenin leeg creeren.
>>
>> Je bedoelt unset($resultArray)?
>
> Nee, ik bedoel
> $resultArray = array();
>
>> Is niet nodig.
>> Werkt zo ook.
>
> Je boft. :-)
Ik denk dat het gewoon werkt, omdat deze array in een function wordt
gedefiniëerd.
Het script werkt inmiddels al naar voldoening:
http://www.harmonicahoek.nl/archief/vdeo/overzichten/
--
Groeten, Eduard