Avatar billede googolplex Novice
01. juni 2004 - 22:58 Der er 15 kommentarer og
1 løsning

include path

Hvad gør set_include_path(), sætter den roden til det jeg har lyst til ?
Avatar billede dennismp Nybegynder
01. juni 2004 - 23:06 #1
Angiver hvor include()/require() og php generelt søger efter filer der åbnes.

Sætter du fx include_path til "." så søges der er current-dir (god ting).. Hvis du sætter den til ".:/min/hjemmeside/lib/" .. så vil den når du skriver
include("db.php");
først se om den er i current dir og hvis den ikke er, så forsøger den at åbne /min/hjemmeside/lib/db.php .. der kan være ligeås mange man har brug for

http://dk.php.net/set_include_path
Avatar billede googolplex Novice
01. juni 2004 - 23:16 #2
Så er det vel nemmest at bruge set_include_path() til at roden på mit site er det ikke ? Så er jeg jo fri for at skrive hele stien hver gang ?
Avatar billede googolplex Novice
01. juni 2004 - 23:17 #3
til at roden = til at 'definere' roden
Avatar billede dennismp Nybegynder
01. juni 2004 - 23:20 #4
Hvis du smider roden ind i include-path, så vil den automatisk søge der. Så ja.
Avatar billede sukos Juniormester
01. juni 2004 - 23:52 #5
Synes selv det er en go' ide at bruge et include dir som IKKE ligger i roden af domænet.
Og koder du så "rigtigt", er det kun filer på serven som gør brug af includefiler.
Avatar billede googolplex Novice
02. juni 2004 - 00:09 #6
Nej, jeg mente heller ikke roden på domænet. Jeg mener min rod på webhotellet, den ligger 1 under roden på mine domæner og så inkluderer jeg derfra.
Avatar billede googolplex Novice
20. juni 2004 - 07:52 #7
dennismp & sukos: Svar udbedes :)
Avatar billede dennismp Nybegynder
20. juni 2004 - 09:28 #8
heh :)
Avatar billede avminarm Juniormester
06. juli 2004 - 15:04 #9
dennismp/sukos>> i har vel ikke et lille fixt kodestykke der gør at der altids includes fra et bestemt dir - lige uden for domænet?
Avatar billede dennismp Nybegynder
06. juli 2004 - 16:27 #10
i php: ini_set('include_path','/usr/share/php/:.:/home/mitweb/includes');
htaccess
php_value include_path /usr/share/php/:.:/home/mitweb/includes

brug evt ini_get til at se den nuværende sti, så du blot tilføjer ":dinsti" til denne.
Avatar billede avminarm Juniormester
06. juli 2004 - 19:59 #11
betyder det at php vil lede både i "php" og i "includes" ?

jeg tænkte lidt på om kunne bruge noget ini_get for at finde stien for hefefter at sætte include stien - altså så jeg er fri for at ændre f.eks: home/mitweb/includes manuelt.

På min egen testmaskine kan jeg kun få det til at virke med f.eks:
ini_set('include_path',$_SERVER['DOCUMENT_ROOT'].'/includes');

Men er der nogen særlig risiko ved det? - altså på nettet/webhotel?
Avatar billede avminarm Juniormester
06. juli 2004 - 20:00 #12
og hvad betyder: :.: ?
Avatar billede dennismp Nybegynder
06. juli 2004 - 20:35 #13
kolon er separator. Så du kan angive flere sti'er..

. er bare current-directory. Er ganske smart, at hvis du skriver include("test.php"); så søger den i samme directory efter filen, samt de andre steder du har angivet
Avatar billede avminarm Juniormester
07. juli 2004 - 08:52 #14
Nu vil jeg jo nødig virke uhøflig, men har du et lille pip til min kommentar: 06/07-2004 19:59:38 ;o)
Avatar billede dennismp Nybegynder
07. juli 2004 - 14:48 #15
ja.

Det gør jeg hvis jeg ikke har mulighed for at bruge .htaccess - så fin idé :)

stierne i include_path er sti'er i dit filsystem.. fx kan du have

.:../libs:/home/share/lib

og hvis siden i /home/dennis/www så laver en include 'test.php' så prøver den at åbne:
/home/dennis/www/test.php
/home/dennis/www/../libs/test.php (eller /home/dennis/libs/test.php)
/home/share/lib.test.php

og bruger den, den finder først. (dvs findes alle 3, jammen så er det den i www der bliver brugt, da det er den den forsøger at hente først)

Risiko, næh. :) Du bruger jo include_path i forvejen, hvis du bruger PEAR - og derfor står den også normalt til at pege på et directory med PEAR på current directory (.)
Avatar billede avminarm Juniormester
08. juli 2004 - 09:30 #16
Jeg takker mange gange ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester