Autor Zpráva
anonimny
Profil *
Ahojte, prosím mám problém s include ide o to že chcem do jedného súboru dať to include ale stále mi vypisuje chybu.

Takto to mám v adresári :
localhost/nazov/reklama/index.php /ten potrebujem vložiť cez include
localhost/nazov/index.php / sem
localhost/nazov/subory/index.php / sem

Chcem to použiť na reklamu , aby som nemusel meniť všetky stánky(podstránky) ako blbec. Chcem to mať aby som zmenil iba jeden a zmení všetko čo má.

Ale ide o to že stále mi vypisuje chybu

Warning: fopen(reklama1.txt) [function.fopen]: failed to open stream: No such file or directory in /home/free/tym.sk/c/crazyrocket/root/www/beta/reklama/index.php on line 9

Warning: feof(): supplied argument is not a valid stream resource in /home/free/tym.sk/c/crazyrocket/root/www/beta/reklama/index.php on line 11

Warning: fgets(): supplied argument is not a valid stream resource in /home/free/tym.sk/c/crazyrocket/root/www/beta/reklama/index.php on line 12


Skúšal som to rôzne tam zapísať ale nič <?php include ('../reklama/index.php');?>.

Ďakujem za každú pomoc :)

P.S - Neviem či to má patriť do tejto kategórie
Str4wberry
Profil
Tohle „../“ znamená „o úroveň výš“, tedy z localhost/nazov/index.php vás to include dostane do localhost/reklama/index.php.
juriad
Profil
Ten include ti funguje. :)
Problém je v reklamě, kterou includuješ; všechny hlášky se týkají situace, že skript reklama/index.php nemůže najít a přečíst soubor reklama.txt

Jak píše Str4wberry:
V nazov/index.php má include být: <?php include ('reklama/index.php');?>
V nazov/soubory/index.php má include býtt <?php include ('../reklama/index.php');?>
anonimny
Profil *
Skúsil som no žiadna zmena :(

Ide to jedine vtedy ked to include je takto :
<?php include ('reklama.php');?> a všetky súbory v tom danom priečinku(reklama1.txt,reklama2.txt)

localhost/nazov/index.php /sem zapíšem to: <?php include ('reklama.php');?>
localhost/nazov/reklama.php /je tiež v tom istom priečinku (ako index)
localhost/nazov/reklama1.txt
localhost/nazov/reklama2.txt /oba súbory txt tiež v tom istom priečinku(ako index)

Vtedy to ide , ale to je skoro to isté ako keby som menil každú stánku.
Hando
Profil
Co s tím mají společného soubory reklama1.txt, reklama2.txt? Když includuješ soubor reklama.php, tak musíš na každé adresářové úrovni pouze nastavit patřičnou cestu, většinou relativně (popsáno na jakpsatweb.cz na stránce o odkazech), nebo pomocí absolutní adresy např. pomoci cURL (což je možná zbytečné pro tyto účely). Pokud to z nějakého důvodu nefunguje, tak je to nejčastěji způsobeno špatně zadanou cestou. Samozřejmě ti to bude includovat pouze soubor s příslušnou koncovkou, tedy reklama.php. Soubory reklama.něco_jiného to nijak neovlivní.
Rozhodně to není to samé, jako když to budeš měnit ručně - jen změníš obsah includovaného souboru, jakmile ho jednou do každé stránky správně includuješ.
Viz výše...
Zkus si vzít papír a rozkreslit si adresářovou strukturu a následně "vyšplhat" pomocí "../" na různé úrovně.
anonimny
Profil *
Tak adresa je určite zapísaná dobre lebo , ked som zmenil script v súbore reklama.php na text tak ten zobrazilo.
Niekde je chyba v skripte , ale ten som nerobil ja lebo sa ešte nevyznám poriadne v php.
Hando
Profil
anonimny:
Niekde je chyba v skripte , ale ten som nerobil ja lebo sa ešte nevyznám poriadne v php.
No, pokud sem ten skript nedáš, tak těžko někdo poradí, kde je chyba. :)
anonimny
Profil *
Pardon , zabudol som to sem dať :(
Je to skript nato aby sa po načítaní stránky zmenil náhodne obrázok , medzi tými čo sú v reklama1.txt

obsah - reklama.php
    <?php
$file ='reklama1.txt';
$ads = array();
$fh = fopen($file, 'r');

while(!feof($fh)) {
$line = fgets($fh, 10240);
$line = trim($line);
if($line != ''){
  $ads[] = $line;
  }
}
$num = count($ads);
$idx = rand(0, $num -1);
echo $ads[$idx];
?>

obsah - reklama1.txt
<a href="logo.png" target="_blank"><img src="../obrazky/reklama/2.png"></a>
<a href="logo.png" target="_blank"><img src="../obrazky/reklama/1.png"></a>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0