/ 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
Glob
Fra : Birger Sørensen


Dato : 31-12-10 00:19

Jeg sidder lige og arbejder...
Og hvis php kunne, så fik det med hammeren - men det er vist kun
hardware det hjælper på, og forbandelser ser ikke ud til at virke.

glob( '*.*') giver mig et fint array med eksisterende filer i den
folder scriptet kører i.
glob( 'admin/*.*') giver mig ingenting, selvom jeg ved at folder admin
eksisterer og indeholder 12 filer...
Folderen admin har tilladelse 755, og alle filerne i det 644. (Og
scriptet anvender faktisk en af dem, og læser indholdet af en anden...)
Men ifølge glob(), er det der altså ikke.
Har nøjagtigt samme problem med en anden folder også...

Har forsøgt med /admin/*.*, admin\*.*, \admin\*.* også - med spørg lige
om glob er ligeglad.
Har forsøgt mig med clearstatcache( true) - selvom det egentlig ikke
burde gøre nogen forskel - hvilket det heller ikke gør.
glob() er simpelthen ikke til at slå nogen form for kommuikation af med
- undtaget lige for den folder scriptet kører i.
Det er lidt ligesom at slå i en dyne, tale til døren og/eller sparke
til bildækkene...

Nogen der har et guldkorn?

Birger

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



 
 
Bertel Lund Hansen (31-12-2010)
Kommentar
Fra : Bertel Lund Hansen


Dato : 31-12-10 00:29

Birger Sørensen skrev:

> Jeg sidder lige og arbejder...
> Og hvis php kunne, så fik det med hammeren - men det er vist kun
> hardware det hjælper på, og forbandelser ser ikke ud til at virke.

Det er ikke PHP's fejl.

> glob( '*.*') giver mig et fint array med eksisterende filer i den
> folder scriptet kører i.

Ja.

> glob( 'admin/*.*') giver mig ingenting

Så ligger mappen admin ikke i den aktive mappe.

> Nogen der har et guldkorn?

Ja. Brug en korrekt sti eller sæt evt. adminmappen til at være
den aktive mappe.

   chdir('etellerandet/admin')

men der skal du også kunne skrive den korrekte sti.

PHP og andre C-type-programmeringssprog bruger / i stier. Hvis
man vil bruge Windows' åndssvage påfund med \, er man nødt til at
skrive \\ fordi \ er escapetegn. Men det er man heldigvis kun
tvunget til hvis man vil sende en streng til behandling af
Windows.

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

Birger Sørensen (31-12-2010)
Kommentar
Fra : Birger Sørensen


Dato : 31-12-10 00:38

Bertel Lund Hansen frembragte:
> Birger Sørensen skrev:
>
>> Jeg sidder lige og arbejder...
>> Og hvis php kunne, så fik det med hammeren - men det er vist kun
>> hardware det hjælper på, og forbandelser ser ikke ud til at virke.
>
> Det er ikke PHP's fejl.
>
>> glob( '*.*') giver mig et fint array med eksisterende filer i den
>> folder scriptet kører i.
>
> Ja.
>
>> glob( 'admin/*.*') giver mig ingenting
>
> Så ligger mappen admin ikke i den aktive mappe.
>
>> Nogen der har et guldkorn?
>
> Ja. Brug en korrekt sti eller sæt evt. adminmappen til at være
> den aktive mappe.
>
>    chdir('etellerandet/admin')
>
> men der skal du også kunne skrive den korrekte sti.
>
> PHP og andre C-type-programmeringssprog bruger / i stier. Hvis
> man vil bruge Windows' åndssvage påfund med \, er man nødt til at
> skrive \\ fordi \ er escapetegn. Men det er man heldigvis kun
> tvunget til hvis man vil sende en streng til behandling af
> Windows.

Har selv oprettet folderen i mit ftp program og uploaded filerne.
Den er der og det virker med get_file_contents( 'admin/filnavn') og
files( 'admin/filnavn').
Så folderen er der, og filerne er der - glob() kan åbenbart bare ikke
finde dem.
Aktive folder er et trin under roden, hedder cms.
bruger jeg '../cms/' foran har jeg samme problem. I den folder der
arbejdes i ( cms), virker det fint - men ikke i nogen folder under.

Bruger normalt også / - men var nødt til at forsøge noget, når glob
ikke er samarbejdsvillig.
Vil prøve den alternative med opendir, som glob() jo skal erstatte. Der
er bare ikke nogen indlysende grund til at glob() ikke skulle gøre
det...

Birger

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



Birger Sørensen (31-12-2010)
Kommentar
Fra : Birger Sørensen


Dato : 31-12-10 00:59

Birger Sørensen skrev:
> Bertel Lund Hansen frembragte:
>> Birger Sørensen skrev:
>>
>>> Jeg sidder lige og arbejder...
>>> Og hvis php kunne, så fik det med hammeren - men det er vist kun hardware
>>> det hjælper på, og forbandelser ser ikke ud til at virke.
>>
>> Det er ikke PHP's fejl.
>>
>>> glob( '*.*') giver mig et fint array med eksisterende filer i den folder
>>> scriptet kører i.
>>
>> Ja.
>>
>>> glob( 'admin/*.*') giver mig ingenting
>>
>> Så ligger mappen admin ikke i den aktive mappe.
>>
>>> Nogen der har et guldkorn?
>>
>> Ja. Brug en korrekt sti eller sæt evt. adminmappen til at være
>> den aktive mappe.
>>
>>    chdir('etellerandet/admin')
>>
>> men der skal du også kunne skrive den korrekte sti.
>>
>> PHP og andre C-type-programmeringssprog bruger / i stier. Hvis
>> man vil bruge Windows' åndssvage påfund med \, er man nødt til at
>> skrive \\ fordi \ er escapetegn. Men det er man heldigvis kun
>> tvunget til hvis man vil sende en streng til behandling af
>> Windows.
>
> Har selv oprettet folderen i mit ftp program og uploaded filerne.
> Den er der og det virker med get_file_contents( 'admin/filnavn') og files(
> 'admin/filnavn').
> Så folderen er der, og filerne er der - glob() kan åbenbart bare ikke finde
> dem.
> Aktive folder er et trin under roden, hedder cms.
> bruger jeg '../cms/' foran har jeg samme problem. I den folder der arbejdes i
> ( cms), virker det fint - men ikke i nogen folder under.
>
> Bruger normalt også / - men var nødt til at forsøge noget, når glob ikke er
> samarbejdsvillig.
> Vil prøve den alternative med opendir, som glob() jo skal erstatte. Der er
> bare ikke nogen indlysende grund til at glob() ikke skulle gøre det...
>
> Birger

Problem løst.

foldernavne læses ind i et array fra en fil med file().
Den har \r\n med for hver linie - men sådan hedder folderne jo ikke...
Og eftersom en udskrift til html, ikke ligefrem afslørrer nyline
karaktererne... Men det kunne nu ses i koden.
$array = file( $filnavn, FILE_IGNORE_NEW_LINES); løste problemet -
herefter opfører både glob() og opendir() med tilbehør sig som
forventet.

Tak for hjælpen og undskyld afbrydelsen

Birger

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



Bertel Lund Hansen (31-12-2010)
Kommentar
Fra : Bertel Lund Hansen


Dato : 31-12-10 01:19

Birger Sørensen skrev:

> Tak for hjælpen og undskyld afbrydelsen

Du skal da ikke undskylde. Det er netop luskede 'indlysende' fejl
man har brug for hjælp til.

Jeg glemte helt at tænke på skjulte blanktegn som også ofte har
drillet mig.

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

Birger Sørensen (31-12-2010)
Kommentar
Fra : Birger Sørensen


Dato : 31-12-10 01:33

Bertel Lund Hansen tastede følgende:
> Birger Sørensen skrev:
>
>> Tak for hjælpen og undskyld afbrydelsen
>
> Du skal da ikke undskylde. Det er netop luskede 'indlysende' fejl
> man har brug for hjælp til.
>
> Jeg glemte helt at tænke på skjulte blanktegn som også ofte har
> drillet mig.

^^
Den her var selvfølgelig indlysende - efter den er fundet.
Når man ikke lige får det resultat man forventer, gør jeg i hvert fald
gerne det at jeg skriver mellemresultater ud - filnavne, folder navne i
det her tilfælde - og det var altsammen rigtigt...
Det var først efter at opendir() heller ikke ville samarbejde, at jeg
fandt på at se i kildekoden til HTML'en og det slog mig, at der vist
var et par tomme linier som egentlig ikke hørte til...

Og så kan man jo i øvrigt mene at hvis bare scriptkoden er læsbar, er
HTML resultatet ligegyldigt. (Der var vist en mindre diskussion om det
for ikke så længe siden).
Men hvis jeg ikke havde sørget for at HTML kildekoden ser fornuftig ud,
havde jeg siddet her og rodet efter den fejl de næste tre dage.

Birger

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



Michael Rasmussen (31-12-2010)
Kommentar
Fra : Michael Rasmussen


Dato : 31-12-10 00:59

On Fri, 31 Dec 2010 00:19:00 +0100
Birger Sørensen <sdc@bbsorensen.com> wrote:

> glob( '*.*') giver mig et fint array med eksisterende filer i den folder scriptet kører i.
> glob( 'admin/*.*') giver mig ingenting, selvom jeg ved at folder admin eksisterer og indeholder 12 filer...
Grunden er, at der formentligt ikke findes filer i current katalog, der
matcher admin/*.* Bemærk at glob ikke er rekursivt, hvorfor det
ikke kan søge i andre kataloger end i current katalog.

--
Hilsen/Regards
Michael Rasmussen
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.


Søg
Reklame
Statistik
Spørgsmål : 177429
Tips : 31962
Nyheder : 719565
Indlæg : 6407948
Brugere : 218878

Månedens bedste
Årets bedste
Sidste års bedste