Nefunkční include() – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Nefunkční include() – PHP – Fórum – Programujte.comNefunkční include() – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Figa0
Super člen
20. 4. 2008   #1
-
0
-

Ahoj, mám vytvořený soubor header.inc a footer.inc . Když otevřu stránku v kořenovém adresáři, tedy www.stranka.cz/index.php a v ní je toto

<?php
include('recenze/hlavicka.inc');
?>


tak to funguje. Ovšem pokud je stránka www.stranka.cz/clanky/recenze/index.php , tak to napíše tuto chybu

Warning: include(recenze/hlavicka.inc) [function.include]: failed to open stream: No such file or directory in /home/free/ic.cz/f/figa/root/www/clanky/recenze/index.php on line 2

Warning: include() [function.include]: Failed opening 'recenze/hlavicka.inc' for inclusion (include_path='/usr/share/php/smarty/libs:/usr/share/fpdf:/usr/share/php/:.') in /home/free/ic.cz/f/figa/root/www/clanky/recenze/index.php on line 2

Co je špatně?Předem děkuji za odpovědi.

Nahlásit jako SPAM
IP: 87.249.133.–
Reklama
Reklama
adam
~ Anonymní uživatel
157 příspěvků
20. 4. 2008   #2
-
0
-

To Figa :
Protože url v include musí být vždycky relativní, ne absolutní!
Taktéž mi nefungovalo myslím když je tam http://.

Nahlásit jako SPAM
IP: 88.146.208.–
Figa0
Super člen
20. 4. 2008   #3
-
0
-

Nj, ale jak to mam udelat kdyz, header.inc je treba /recenze/header.inc a samotna strank ktera ho vyzaduje je v /recenze/software/windows/index.php ?

Nahlásit jako SPAM
IP: 87.249.133.–
adam
~ Anonymní uživatel
157 příspěvků
20. 4. 2008   #4
-
0
-

tak se treba vrat o adresar nize:

<?

include "../../header.inc";
?>

Ted by ti to melo fungovat.
Pozor! pokud se ti koncovka .inc neodesila na server, davej si na to pozor. Uz se mi to jednou stalo, mel se v header php kody a ty mi nekdo hacknul. Tak ti radim dobre dej koncovku php.

Nahlásit jako SPAM
IP: 88.146.208.–
Figa0
Super člen
20. 4. 2008   #5
-
0
-

Promin jsem natvrdlej ale ja nechapu jak to funguje. Stejne to nefunguje. Chybi tam obrazky a tak, ale uz se neukaze chyba.

Nahlásit jako SPAM
IP: 87.249.133.–
adam
~ Anonymní uživatel
157 příspěvků
20. 4. 2008   #6
-
0
-

z obrazkama je to stejne ale u obrazku si davej vetsinou absolutni url - http://figa.ic.cz/obrazky/1.gif! chapes?

Nahlásit jako SPAM
IP: 88.146.208.–
adam
~ Anonymní uživatel
157 příspěvků
20. 4. 2008   #7
-
0
-

tak ale zase sou s tym dalsi problemy. treba kdyz mas jako ja v header.inc nejaky include. nejlepsi je mit v hlavnim adresari index.php a k jinym souborum vzdycky pres otaznik >> index.php?clanek=1
nebo si precti na http://www.jakpsatweb.cz o .htaccess mod rewrite. ale na ic.cz to nefunguje.
je to ze si uzivatel zavola treba soubor /Clanek--01--neco-nadpis.php
a server to vrati jako index.php?clanek=01&neco=nadpis
podle toho jak to chces

Nahlásit jako SPAM
IP: 88.146.208.–
Figa0
Super člen
20. 4. 2008   #8
-
0
-

Jenze ty obrazky volam v tom souboru header.inc a tam jsou napsane absolutni cestou. Kdyz je ale index.php b korenovem adresari, tak to funguje.

Nahlásit jako SPAM
IP: 87.249.133.–
adam
~ Anonymní uživatel
157 příspěvků
20. 4. 2008   #9
-
0
-

ja ale myslim absolutni cestu i s tvou doménou a s http://. chapes? jinak to fungovat nebude.

Nahlásit jako SPAM
IP: 88.146.208.–
Figa0
Super člen
20. 4. 2008   #10
-
0
-

U obrázku nebo u volání souboru header, Už se ztrácím.

Nahlásit jako SPAM
IP: 87.249.133.–
psenik0
Návštěvník
20. 4. 2008   #11
-
0
-

zapis by mel byt. rekl bych ze to takhle bude lepsi nez s temi zavorkami.. sice je mozne ze zavorky se daji asi pouzit ale toto je prehlednejsi a jistejsi...



include "./index.php";

PS.: ./ - označuje skok do kořenového adresáře
../ - označuje skok o jednu úroveň zpět

Nahlásit jako SPAM
IP: 88.146.14.–
Pk
insider0
Věrný člen
20. 4. 2008   #12
-
0
-

To psenik : nejsem si moc jisty, ale ./ znamena aktualni adresar ne? do korenoveho adresare by mohlo byt jen lomitko

Nahlásit jako SPAM
IP: 78.102.32.–
I don't want to see you go,[br] The sky is over[br] Even though we can't afford[br] The sky is over,[br] The sky is over us.[br][br] CIVILIZATION IS OVER
Figa0
Super člen
20. 4. 2008   #13
-
0
-

Mám rhlavicka. inc a rpaticka.inc hned na ftpcku v zadne podslozce a soubor v /recenze/sw/klasik/klasik.php odkazuje na

<?php
include "/rhlavicka.inc";
?>

a

<?php
include "/rpaticka.inc";
?>

a porad je tam ta chyba.

Nahlásit jako SPAM
IP: 87.249.133.–
adam0
Duch
20. 4. 2008   #14
-
0
-

vsak ti rikam ze kdyz napises include "soubor.inc"; tak on si mysli, ze ten soubor je v tom adresari, kde je ten php skript. chapes? takze kdyz chces includovat soubor, ktery je o uroven vys, tak pouzij ../
o dve slozky vys: ../../
o tri slozky vys: ../../../
atakdale...
takze kdyz mas hlavnim adresari soubor hlavicka.inc a mas clanek v /recenze/clanky/idnex.php
tak si napis do hlavicka.inc obrazky s absolutni cestou + http:// (například: <img src="http://figa.ic.cz/obrazky/img.gif">)
a do index.php napis:



<? include "../../hlavicka.inc"; ?>
Tvůj obsah
<? include "../../paticka.inc"; ?>

A bude ti to fungovat!

Nahlásit jako SPAM
IP: 88.146.208.–
Figa0
Super člen
22. 6. 2008   #15
-
0
-

Děkuji už to funguje. Mám tu ale další ovšem velmi podobný problém. Script v souboru hlavicka.inc funguje jen pokud je v kořenovém adresáři. Obrázky na které to odkazuje jsou v /numers/x.gif a soubor je v /recenze/sw/program/soubor.php. Proč to nefunguje:

function obrazkoveDatum($datum) {
$datum = str_replace('.', 'x', $datum);
for($i = 0;$i < strlen($datum);$i++){
if(file_exists('http://figa.ic.cz/numers/'.$datum[$i].'.gif'))
echo '<img src="http://figa.ic.cz/numers/'.$datum[$i].'.gif">';
else
echo $datum[$i];
}
}


Předem děkuji za odpovědi.

Nahlásit jako SPAM
IP: 87.249.133.–
ench0
Stálý člen
22. 6. 2008   #16
-
0
-

jestli to není tím, že tu adresu souboru máš zobrazenou přes http adresu... zkus jen napsat



function obrazkoveDatum($datum) {
$datum = str_replace('.', 'x', $datum);
for($i = 0;$i < strlen($datum);$i++){
if(file_exists('/numers/'.$datum[$i].'.gif'))
echo '<img src="http://figa.ic.cz/numers/'.$datum[$i].'.gif">';
else
echo $datum[$i];
}
}

Jde mi o toto z manuálu:


file_exists
(PHP 3, PHP 4 , PHP 5)

file_exists -- Zjistí, zda soubor existuje
Popis
bool file_exists ( string filename)


Vrací TRUE, pokud soubor specifikovaný pomocí filename existuje, jinak FALSE.

file_exists() nefunguje na vzdálených souborech; soubor k ověření musí být přístupný prostřednictvím filesystému serveru.

Nahlásit jako SPAM
IP: 88.146.205.–
I programování je pudová záležitost. Buď to pude, nebo to nepude
Figa0
Super člen
22. 6. 2008   #17
-
0
-

Tak mi to hodí chybu :(

Nahlásit jako SPAM
IP: 87.249.133.–
ench0
Stálý člen
22. 6. 2008   #18
-
0
-

To Figa : jakou?

Nahlásit jako SPAM
IP: 88.146.205.–
I programování je pudová záležitost. Buď to pude, nebo to nepude
Figa0
Super člen
22. 6. 2008   #19
-
0
-

Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/numers/2.gif) is not within the allowed path(s): (.:/home/ic/:/home/free/:/disk1/home/ic/:/disk1/home/free/:/tmp:/home/yousers/:/usr/share/php/:/usr/share/fpdf/:/usr/share/fonts/:/usr/share/php/jpgraph/:/usr/share/php/:/var/lib/php5) in /home/free/ic.cz/f/figa/root/www/clanky/hlavicka.inc on line 158
2
Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/numers/6.gif) is not within the allowed path(s): (.:/home/ic/:/home/free/:/disk1/home/ic/:/disk1/home/free/:/tmp:/home/yousers/:/usr/share/php/:/usr/share/fpdf/:/usr/share/fonts/:/usr/share/php/jpgraph/:/usr/share/php/:/var/lib/php5) in /home/free/ic.cz/f/figa/root/www/clanky/hlavicka.inc on line 158
6
Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/numers/4.gif) is not within the allowed path(s): (.:/home/ic/:/home/free/:/disk1/home/ic/:/disk1/home/free/:/tmp:/home/yousers/:/usr/share/php/:/usr/share/fpdf/:/usr/share/fonts/:/usr/share/php/jpgraph/:/usr/share/php/:/var/lib/php5) in /home/free/ic.cz/f/figa/root/www/clanky/hlavicka.inc on line 158
4

Nahlásit jako SPAM
IP: 87.249.133.–
Figa0
Super člen
22. 6. 2008   #20
-
0
-

Nikdo neví?Jinak děkuji za dosavadní pomoc.

Nahlásit jako SPAM
IP: 87.249.133.–
toka0
Stálý člen
24. 6. 2008   #21
-
0
-

Zamer se na toto open_basedir restriction in effect.

Nahlásit jako SPAM
IP: 86.61.165.–
Tomáš Kavalek
Figa0
Super člen
24. 6. 2008   #22
-
0
-

Děkuji, ale už jsem to s Lookovou pomocí vyřešil.



function file_external_exists($url)
{
$headers = @get_headers($url);
if(preg_match("|200|",$headers[0]))
return(true);
else return(false);
}

function obrazkoveDatum($datum) {
$datum = str_replace('.', 'x', $datum);
for($i = 0;$i < strlen($datum);$i++){
if(file_external_exists('http://figa.ic.cz/numers/'.$datum[$i].'.gif'))
echo '<img src="http://figa.ic.cz/numers/'.$datum[$i].'.gif">';
else
echo $datum[$i];
}
}

Nahlásit jako SPAM
IP: 87.249.133.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 62 hostů

Podobná vlákna

Nefunkční v IE — založil psenik

Nefunkcni kod ? help — založil uGo

Nefunkcni filmy — založil Bunnysh

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý