Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

* wildcard i et filnavn ?

1 view
Skip to first unread message

Asger Joergensen

unread,
Mar 15, 2012, 10:25:21 AM3/15/12
to

Hejsa

Jeg har noget software til download på min side og jeg kunne godt tænke
mig at jeg ikke var nød til at opdatere mit link når filen der er til download
ændrer version og dermed filnavn

Filen kan f.eks skifte fra "ProgramSetup-2.6.4.36.exe" til
"ProgramSetup-3.1.5.22.exe"

"ProgramSetup-" og ".exe" vil altid være det samme det er bare versions
nummeret der skifter, og der vil altid kun være en fil at finde med:
"ProgramSetup-*.exe".

Hvordan kan jeg lave sådan et link ?

På forhånd tak.
Venlig hilsen
Asger-P

Birger Sørensen

unread,
Mar 15, 2012, 10:31:15 AM3/15/12
to
Asger Joergensen skrev:
Prøv at se glob()
http://dk.php.net/manual/en/function.glob.php
Den vil kunne finde dit filnavn - under forudsætning af at der kun er
een. Ellers er det noget med at sortere arrayet den returnerer, og kun
linke til første/sidste...

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://skippersevent.dk


Asger Joergensen

unread,
Mar 15, 2012, 6:39:33 PM3/15/12
to
Hej Birger

Birger Sørensen skrev:

> Prøv at se glob()
> http://dk.php.net/manual/en/function.glob.php
> Den vil kunne finde dit filnavn - under forudsætning af at der kun er een. Ellers er det noget med at sortere arrayet den returnerer, og kun linke til første/sidste...

Tak skal du ha.
glob sorterer hvis ikke den får anden besked så denne funktion
giver mig den nyeste update fil:

function GetFileName( $Pre='', $Post='' )
{
$files = glob( $Pre . '*' . $Post );
return end( $files );
}


Venlig hilsen
Asger-P

Martin

unread,
Mar 16, 2012, 8:42:26 AM3/16/12
to
On 15-03-2012 23:39, Asger Joergensen wrote:
> Hej Birger
>
> Birger Sørensen skrev:
>
>> Prøv at se glob()
>> http://dk.php.net/manual/en/function.glob.php
>> Den vil kunne finde dit filnavn - under forudsætning af at der kun er een. Ellers er det noget med at sortere arrayet den returnerer, og kun linke til første/sidste...
>
> Tak skal du ha.
> glob sorterer hvis ikke den får anden besked så denne funktion
> giver mig den nyeste update fil:

Hvis du vil være helt sikker, så ville jeg nok lige lave en sortering på
versions nummeret

>
> function GetFileName( $Pre='', $Post='' )
> {
> $files = glob( $Pre . '*' . $Post );
> return end( $files );
> }

$newestVersion = 0;
foreach($files AS $file) {
$version = str_replace($Pre, '', str_replace($Post, '', $file);
if (version_compare($version, $newestVersion, '>')) {
$newestVersion = $version;
}
}

return $Pre . $newestVersion . $Post;

Birger Sørensen

unread,
Mar 16, 2012, 10:25:44 AM3/16/12
to
Martin formulerede spørgsmålet:
Hvis man kun her een fil - altså fjerner gamle versioner, når der
uploades nye - er der ikke noget problem i at bruge glob's sortering.
Og problemet med det vil være, at den sorterer alfabetist - altså ikke
efter version *nummer*. (1 kommer før 9 - det gør så 10 også...)

Martin

unread,
Mar 16, 2012, 1:09:49 PM3/16/12
to
Det var også lige der jeg ville hen.
Man fjerner vel ikke gamle versioner imo.
Kunne jo være der var en bug i en ny version, så kan man stadig
downloade den ældre version.
Eller nogle kan bedre lide den gamle version ifht den nye... altså noget
i den dur :)

Bertel Lund Hansen

unread,
Mar 17, 2012, 6:23:59 AM3/17/12
to
Asger Joergensen skrev:

> glob sorterer hvis ikke den får anden besked

Nej. Den returnerer filerne i den rækkefølge de ligger på disken.

--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/

Asger Joergensen

unread,
Mar 17, 2012, 6:48:18 AM3/17/12
to
Hej Bertel

Bertel Lund Hansen skrev:

> Asger Joergensen skrev:
>
> > glob sorterer hvis ikke den får anden besked
>
> Nej. Den returnerer filerne i den rækkefølge de ligger på disken.

Hvorfor er der så dette flag ?

GLOB_NOSORT - Return files as they appear in the directory (no sorting)

http://dk.php.net/manual/en/function.glob.php

Men nu er de fleste diske jo også sorteret nu om dage så der er nok ikke
meget forskel.

Venlig hilsen
Asger-P

Birger Sørensen

unread,
Mar 17, 2012, 7:01:04 AM3/17/12
to
Bertel Lund Hansen sendte dette med sin computer:
> Asger Joergensen skrev:
>
>> glob sorterer hvis ikke den fᅵr anden besked
>
> Nej. Den returnerer filerne i den rᅵkkefᅵlge de ligger pᅵ disken.

Der stᅵr vist ikke om den gᅵr det eller ej.
I praksis, har jeg altid fᅵet filerne i alfabetisk sorteret rᅵkkefᅵlge.

Der stᅵr den bruger libc glob() underliggende funktion, sᅵ der kan
mᅵske vᅵre forskel.
0 new messages