Autor | Zpráva | ||
---|---|---|---|
chadas Profil * |
#1 · Zasláno: 25. 4. 2012, 21:02:57
Potřeboval bych poradit jak musí být správný zápis abych vkládal pomocí INCLUDE připravený soubor. Ve zdrojovém kódu mám
<?php include("/inc/novinky.php"); ?> <?php include("../inc/novinky.php"); ?> <?php include("../../inc/novinky.php"); ?> |
||
Borius Profil |
#2 · Zasláno: 25. 4. 2012, 21:13:09
chadas:
Je taková možnost, ale je to docela nešťastné řešení: Zadávej cesty v absolutním tvaru, nikoli relativním. Tzn. include('/inc/novinky.php');
Nebo si ulož „relatinu“ do proměnné, případně konstanty: //Platí vždy jen jedna ze tří následujících možností $dir='';//definice v rootu $dir='../';//definice v podsložce $dir='../../';//definice v podpodsložce //Vlastní vložení souboru, ať jsem kde jsem include("{$dir}inc/novinky"); |
||
chadas Profil * |
#3 · Zasláno: 25. 4. 2012, 21:20:18
Takhle si ale vůbec nepomůžu. Spíše to bude složitější o definici proměnné. Zkusi ljsem to teď malinko jinak:
<?php require "/3w/ic.cz/s/test/inc/novinky.php"; ?> |
||
Borius Profil |
#4 · Zasláno: 25. 4. 2012, 21:38:50
Pokud se jedná o pár souborů, ještě se nic neděje. Až půjde o desítky či stovky souborů (načítání novinek, jejich datování, způsoby třídění, přihlašování, přidávání či mazání novinek, jejich úpravy, pojídání čokolády, spolupráce s externími zdroji, protokolování atd. atd.), to už se bude dít, až budeš chtít změnit hosting nebo udělat nějakou razantní změnu, nebo jen spouštět a zpracovávat web ve svém počítači…
Když už přece jen tu absolutní adresu, asi bych dal přednost adrese na serveru ‘/s/test/inc/’ před adresou na disku ‘/3w/ic.cz/s/test/inc/’. |
||
chadas Profil * |
#5 · Zasláno: 25. 4. 2012, 23:45:54
Špatně jsem se vyjádřil. Ono se ve skutečnosti jedná o adresu vzdáleného serveru. Spíš jsem si myslel, že pomocí funkce se dá zjistit cesta do adresáře, ta se vloží do proměnné a to se potom poskládá dohromady.
Možná jsem taky nepochopil tu definici proměnné kde se vlastně definuje. asi to nebude u každého souboru. Nějak si to neumím představit v praxi :( |
||
Borius Profil |
#6 · Zasláno: 25. 4. 2012, 23:52:13
chadas:
„pomocí funkce se dá zjistit cesta do adresáře“ Například: //Absolutní cesta adresáře define('DIR', __DIR__); |
||
chadas Profil * |
#7 · Zasláno: 26. 4. 2012, 00:28:55
Díky ale to mi bohužel nic neříká. Netuším co s tím dál :(
|
||
peta Profil |
chadas:
Kdyby sis roklikal podtrzene odkazy v tom kodu... define('DIR', __DIR__); // vytvori konstantu DIR a naplni ji obsahem php promenne __DIR__ echo DIR; echo __DIR__; define('AHOJ', __DIR__); echo ' Moje konstanta = " ' . AHOJ . ' " '; echo __DIR__; |
||
Ugo Profil |
#9 · Zasláno: 26. 4. 2012, 15:33:36
doplním, že konstanta __DIR__ je až od verze PHP > 5.3 , já zatím většinou pracuju s php 5.2 a tak si dávám pozor, na wz mám někde i php 4 (to už je problém xD), ale ve starších verzích místo __DIR__ použij:
dirname(__FILE__) |
||
Borius Profil |
chadas:
„Netuším co s tím dál :(“ //Načtu soubor, ať jsem kdekoli include(DIR.'/inc/novinky.php'); //Juchů, soubor byl slavně načten Připomínka 1.: Jak praví [#9] Ugo, u starší verze PHP nikoli ‘ __DIR__ ’, alébrž ‘dirname(__FILE__) ’.
Připomínka 2.: Definoval jsem konstantu DIR. Pokud bys chtěl spíše proměnnou, vytvoříš ji analogicky takto: $dir=__DIR__; $dir=dirname(__FILE__); |
||
Šéva Profil |
#11 · Zasláno: 27. 4. 2012, 12:27:19
|
||
Časová prodleva: 12 let
|
0