Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Swiftu. Zároveň využij výhodnou slevovou akci až 30 % zdarma při nákupu e-learningu - více informací.
swift week + discount 30

Diskuze: Jak udělat aby file_get_contents bral cestu od souboru s funkcí a ne od souboru kde se funkce volá?

Aktivity
Avatar
Neaktivní uživatel:18.9.2018 15:26

Chci načíst

/1/2/3/soubor.txt

A funkce je tu:

/1/2/funkce.php

A pužiji

file_get_contents('./3/soubor.txt');

A to nefunguje a musím použít:

file_get_contents('./2/3/soubor.txt);

protože soubor který tu funkci volá je ve složce 1.
Jak mám udělat aby stačilo

file_get_contents('./3/soubor.txt');

?
Snad to někdo pochopil :)

Odpovědět
18.9.2018 15:26
Neaktivní uživatelský účet
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:19.9.2018 8:48

Nepochopil?
pro cesty se pouzivaji tyto varianty, v linuxu:

/ = root / home
./ = aktualni slozka
../ = slozka o uroven vys
/var/www/html/neco/neco - kompletni cesta

Pokud mas v nastaveni apache zadano, ze home directory je
/ = /var/www/html­/neco/neco - kompletni cesta
pak lze vsechny cesty zkratit na
/stranka.htm

No, ve tvem pripade nepises, co vlastne resis, takze ti nelze odpovedet. Tipnu si, ze include. Include vklada soubor do kodu podle cesty aktualne spusteneho souboru. Cili, pokud mas strukturu

/1/2/3/soubor.txt
/1/2/3/soubor.php
/1/2/funkce.php

Pak muzes pro include pouzivat

--- /1/2/3/soubor.php --- (aktualni soubor a slozka)
include '/1/2/3/soubor.txt'
include '/1/2/3/soubor.php' -- coz se zacykli, ale jen pro ukazku
include '/1/2/funkce.php'

--- /1/2/3/soubor.php ---
include 'soubor.txt'
include 'soubor.php' -- coz se zacykli, ale jen pro ukazku
include '../funkce.php'

--- /1/2/3/soubor.php ---
include './soubor.txt'
include './soubor.php' -- coz se zacykli, ale jen pro ukazku
include './../funkce.php'

Nebo, kteroukoliv z tech kombinaci, ruzne promichanou.
Pouzivat '/' na zacatku neni prilis vhodne, pokud chces web zprovoznovat na free hostingu. Tam obvykle nemusi byt homedir nastaveny na tvou slozku, ale obecne na www, takze ti vsechny cesty pujdou k sipku. Lepsi je vzdy cestu skladat

include $home.'../funkce.php'

No, ale to muze vest zase trosku k problemum, pokud budes mit ty php ruzne rozhazene po slozkach, ze budes muset v kazdem opravovat pri nove kopii cesty. Jakoze
/1/2/3/soubor.php zkopirujes do
/1/2/3/4/soubor.php a ted bde treba opravit cesty k config.php, function.php a pod.
Ale tomu se asi stejne nevyhnes.

 
Nahoru Odpovědět
19.9.2018 8:48
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Daniel Vítek
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Daniel Vítek:19.9.2018 9:19

_ index.php
_ folder
|_ script.php
|_ soubor.txt

index.php

require('folder/script.php');

folder/script.php

file_get_contents(__DIR__ . '/soubor.txt');
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
19.9.2018 9:19
Na síti působím už pěknou řádku let. Pokud budeš něco potřebovat, písni mi, pokusím se ti poradit :)
Avatar
Nahoru Odpovědět
19.9.2018 15:27
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.