/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Kan nogen ikke hjælpe...
Fra : Magnus


Dato : 01-08-06 21:32

Jeg har en website som er i ASP men manglede serverplads derfor har jeg en
masse fotos ligende på en anden server som kører php.

Er der ikke en som kan lave en php fil som kan finde en fil med et bestemt
navn via adresse linien som denne:
www.domain.dk/billeder/findfoto.php?fil=billed.jpg

Dvs. den skal gennemsøge alle undermapper og skrive stien til hvor den
finder den bestemte fil gerne som et link til filen som f.eks:
www.domain.dk/billeder/mappe/2006/08/01/billed.jpg

Jeg ville blive meget glad hvis en kunne skaffe mig sådan en funktion som
sagt kender jeg intet til PHP så det ville være dejlig med lidt hjælp til
sådan en funktion?


/Magnus



 
 
Dan Storm (02-08-2006)
Kommentar
Fra : Dan Storm


Dato : 02-08-06 11:01

Magnus skrev:
> Jeg ville blive meget glad hvis en kunne skaffe mig sådan en funktion som
> sagt kender jeg intet til PHP så det ville være dejlig med lidt hjælp til
> sådan en funktion?
Nå, en lille udfordring er man jo altid frisk på.
Jeg har forsøgt mig med at lave en klasse som kan det du efterspørger.
Den er til download på <url: http://err0r.dk/download.php?details=8>

Så er det da prøvet... :)

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Peter Brodersen (07-08-2006)
Kommentar
Fra : Peter Brodersen


Dato : 07-08-06 14:15

On Wed, 02 Aug 2006 12:01:09 +0200, Dan Storm
<shadyz@_REMOVETHIS_err0r.dk> wrote:

>Jeg har forsøgt mig med at lave en klasse som kan det du efterspørger.
>Den er til download på <url: http://err0r.dk/download.php?details=8>
>
>Så er det da prøvet... :)

Lige et hint:

Konstanten DIRECTORY_SEPARATOR er din ven

Reelt er der dog ingen problemer i at bruge / under Windows i PHPs
egne filfunktioner.

Følgende fungerer fx fint med PHP under Windows:

opendir("/")
opendir("C:/")
opendir("E:/")
opendir("C:/program files")

--
- Peter Brodersen
Ugens^WMånedens^WSommerens værktøj - Find vej: www.findvej.dk
Nu med valgfri tekst: www.findvej.dk/Nybrogade2,1203?text=Kulturministeriet

Dan Storm (07-08-2006)
Kommentar
Fra : Dan Storm


Dato : 07-08-06 20:25

Peter Brodersen skrev:
> Lige et hint:
>
> Konstanten DIRECTORY_SEPARATOR er din ven

Nice! :)

> opendir("/")
> opendir("C:/")
> opendir("E:/")
> opendir("C:/program files")
Det var også mest et forsøg på at danne en pæn streng der returneres! :)
Men den konstant var jeg ikke lige stødt på! :)

Jeg takker! :)

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Kasper Johansen (02-08-2006)
Kommentar
Fra : Kasper Johansen


Dato : 02-08-06 12:48

Magnus skrev:
> Er der ikke en som kan lave en php fil som kan finde en fil med et bestemt
> navn via adresse linien som denne:
> www.domain.dk/billeder/findfoto.php?fil=billed.jpg
>
> Dvs. den skal gennemsøge alle undermapper og skrive stien til hvor den
> finder den bestemte fil gerne som et link til filen som f.eks:
> www.domain.dk/billeder/mappe/2006/08/01/billed.jpg

Mit eget bud på "findfoto.php":
<?
$findfile = strtolower($_GET['file']);

function scan_dir($dir){
global $findfile;

$fp = opendir($dir) or die("Kunne ikke åbne dir.<br />\r\n");
while(($file = readdir($fp)) !== false){
if ($file != "." && $file != ".."){
$fn = $dir . "/" . $file;

if (strtolower($file) == $findfile){
echo "Fundet: " . $fn . "<br />\r\n";

//Hvis at søgningen skal stoppes efter første fundne instans
af filnavnet, så fjern udkommenteringen på næste linje:
//break;
}

if (is_dir($fn)){
scan_dir($fn);
}
}
}
}

//Hvis den ikke skal scanne hele serveren, så sæt stien her (i stedet
for "/"):
scan_dir("/");
?>


Jeg håber, at du kan bruge det til noget :)

--
Med venlig hilsen
Kasper Johansen

Magnus (04-08-2006)
Kommentar
Fra : Magnus


Dato : 04-08-06 19:30

>
> Jeg håber, at du kan bruge det til noget :)
>


Kanon det var lige det jeg skulle bruge... men....

Nu skal man skrive hele filnavnet "billedfil.jpg" og findes den fil skrives
det men kan det ikke laves således at man kan nøjes med at skrive "billed"
så for man alle filer hvor teksen "billed" indgår i filnavnet?


Blot denne lille rettelse så er det helt perfekt.

TAK!

/Magnus



Kasper Johansen (04-08-2006)
Kommentar
Fra : Kasper Johansen


Dato : 04-08-06 19:54

Magnus skrev:
> Nu skal man skrive hele filnavnet "billedfil.jpg" og findes den fil skrives
> det men kan det ikke laves således at man kan nøjes med at skrive "billed"
> så for man alle filer hvor teksen "billed" indgår i filnavnet?
>
>
> Blot denne lille rettelse så er det helt perfekt.

Du skal blot ændre linjen med:
if (strtolower($file) == $findfile){

Til:
if (strpos(strtolower($file), $findfile) !== false){


Og så burde det virke.

--
Med venlig hilsen
Kasper Johansen

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste