/ 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
Path som string med eller uden /
Fra : Frank K. Jensen


Dato : 09-02-09 16:58

Hej,

Hvis en variable skal indeholde en sti relativ til det script som kalder
den, hvilken af nedenstående er så mest rigtig?

$dir="somedir";
$dir="somedir/";

Og skal man have noget foran, for at man ikke kan komme i problemer?

$dir="./somedir";
$dir="./somedir/";

Vil det i øvrigt også virke på en windowsserver, eller kan man bruge \ der?

mvh Frank



 
 
Bertel Lund Hansen (09-02-2009)
Kommentar
Fra : Bertel Lund Hansen


Dato : 09-02-09 17:48

Frank K. Jensen skrev:

> Hvis en variable skal indeholde en sti relativ til det script som kalder
> den, hvilken af nedenstående er så mest rigtig?

> $dir="somedir";
> $dir="somedir/";

Ingen af dem er rigtigere end den anden. Vælg den måde du selv
synes bedst om, og brug så den i alle dine scripts.

Det er kun et spørgsmål om hvilken variabel der skal indeholde
stregen, stivariablen eller filnavnevariablen.

Selv foretrækker jeg at have stregen ved stinavnet. Så skal den
kun stå ét sted selv om den skal kombineres med mange filer. Og
jeg kan godt lide at filnavnet er simpelt.

> Og skal man have noget foran, for at man ikke kan komme i problemer?

Nej, ikke hvis du vil have scriptets mappe som udgangspunkt.

> Vil det i øvrigt også virke på en windowsserver, eller kan man bruge \ der?

Strrengt taget ved jeg det ikke, men i C kan man altid bruge /.
Da jeg ikke har hørt om (specielle) problemer med at portere
PHP-scripts fra server til server, går jeg stærkt ud fra at det
virker på alle servere.

Det er kun hvis man vil omgå PHP-systemet og kalde OS'et direkte
(via system() ) at man får brug for at vælge mellem de to
skråstreger. Eksempel:

   system('dir programming/php/newscripts');

vil ikke virke på et Windowssystem.

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

Dan Storm (09-02-2009)
Kommentar
Fra : Dan Storm


Dato : 09-02-09 17:52

Frank K. Jensen skrev:
> $dir="somedir";

Det ville være den jeg ville foretrække.
Hvis du echo'er getcwd() vil du få stien til det aktuelle bibliotek - feks.
/usr/local/www/example.org/docs

Altså uden efterfølgende slash.

> Og skal man have noget foran, for at man ikke kan komme i problemer?

Jeg har en grundfil som jeg inkluderer i alle mine filer:
/usr/local/www/example.org/docs/inc/conf.inc.php

I din fil har jeg denne linie:
define("D_DIR", str_replace("/inc", "", dirname(__FILE__)));

Så ved jeg at konstanten D_DIR altid indeholder
/usr/local/www/example.org/docs

Men det eneste sted jeg egentlig har brugt konstanten har været til et
cronjob...

Relative stier fungerer udmærket, hvis man har styr på sine koder.

> Vil det i øvrigt også virke på en windowsserver, eller kan man bruge \ der?
Benyt dig af konstanten
PATH_SEPARATOR

Den vil på en Linux server returnere / og på en windows server returnere \
Simpelt...


--
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!

Frank K. Jensen (09-02-2009)
Kommentar
Fra : Frank K. Jensen


Dato : 09-02-09 22:11

Mange tak til jer begge

mvh Frank



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

Månedens bedste
Årets bedste
Sidste års bedste