INCLUDE - načtení jen části souboru – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

INCLUDE - načtení jen části souboru – PHP – Fórum – Programujte.comINCLUDE - načtení jen části souboru – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Jirka
~ Anonymní uživatel
284 příspěvků
27. 12. 2015   #1
-
0
-

Ahoj všichni,

řeším teď problém, vložení části souboru přes příkaz include. Jde mi o toto:

- mám soubor "index.php", ve kterém zadám např.  

include("upozorneni.php?id=2");

- dále mám soubor "upozorneni.php", ve kterém chci mít několik bloků s upozorněními pro klienty a tato upozornění mají být oddělena čísly, které se pok vkládají do příkazu include -> "id". Podle toho, které id bude zadáno, tak bych potřeboval, aby se vložila jen ta část souboru.

Bohužel zatím jsem schopný vložit jen celý soubor.

Děkuji za případnou pomoc.

Jirka

Nahlásit jako SPAM
IP: 93.153.58.–
Reklama
Reklama
Kit+11
Guru
27. 12. 2015   #2
-
0
-

#1 Jirka
Pleteš si protokoly, takhle to nejde. Je lepší tato upozornění vložit do několika souborů a pak je volat např. takto: 

<?php
$id = 2;
include "upozorneni$id.php";

Doufám však, že to $id nebudeš mít od klienta, to bys musel řádně ošetřit.

include je příkaz, závorky jsou tedy zbytečné.

Rychlejší a bezpečnější je vkládat přímo HTML: 

<?php
$id = 2;
readfile("upozorneni$id.html");
Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Jirka
~ Anonymní uživatel
284 příspěvků
27. 12. 2015   #3
-
0
-

#2 Kit
To pak podle mne ale $id postrádá smysl. To mohu rovnou vytvořit soubory upozorneni1.php, upozorneni2.php atd. a volat pak například

<?php
   include "upozorneni1.php";
?>

Takže, jestli to správně chápu, žádná možnost, jak vložit jen něco ze souboru, není.

Nahlásit jako SPAM
IP: 93.153.58.–
Jirka
~ Anonymní uživatel
284 příspěvků
27. 12. 2015   #4
-
0
-

Pokud tedy pomineme propojení na databázi. :-) Ale vzhledem k tomu, že jsem začátečník, tak toto řešení jsem zavrhl - prozatím.

Nahlásit jako SPAM
IP: 93.153.58.–
Kit+11
Guru
27. 12. 2015   #5
-
0
-

#3 Jirka
Možností je fůra. Jenom nevím, čeho chceš dosáhnout. Pokud to není databáze, tak ten soubor stejně musíš načíst celý. Možná by bylo lepší, kdybys ty hlášky měl v XML nebo v INI.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Kit+11
Guru
27. 12. 2015   #6
-
0
-

#4 Jirka
Databází je hromada druhů. Zrovna na chybové hlášky používám databázi INI, která má velkou výhodu v tom, že mohu mít pro každý jazyk jednu a dobře se spravuje běžným editorem.

Tuto databázi zná každý, kdo někdy měl Windows a podíval se do souboru s příponou .ini

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Jirka
~ Anonymní uživatel
284 příspěvků
27. 12. 2015   #7
-
0
-

#5 Kit
Uvedu příklad, navazující na můj první dotaz. Mám soubor s upozorněními, kde budou například tyto dva bloky:

blok 1

změna provozní doby

...nejaký text ...

blok 2

akce

... nějaký text ...

Teď mi jde o to, abych na jednu stránku vložil "blok 1" a na nějakou jinou "blok 2". Samozřejmě se mi nechtělo dělat pro každý blok separátní soubor, aby jich pak v adresáři nebylo moc.

Nahlásit jako SPAM
IP: 93.153.58.–
Jirka
~ Anonymní uživatel
284 příspěvků
27. 12. 2015   #8
-
0
-

INI by asi tedy bylo dobré, zkusím si najít informace o propojení.

Nahlásit jako SPAM
IP: 93.153.58.–
Jirka
~ Anonymní uživatel
284 příspěvků
27. 12. 2015   #9
-
0
-

Původně jsem měl namysli databázi MySQL, ale když jsem na to kouknul, tak mi to přijde zatím dost složité.

Nahlásit jako SPAM
IP: 93.153.58.–
Kit+11
Guru
27. 12. 2015   #10
-
0
-

#9 Jirka
Většina programátorů si pod pojmem "databáze" obvykle představí MySQL. Webhostingy však obvykle nabízí 5-7 druhů databází, stačí se podívat do phpinfo().

Zajímavým mezičlánkem mezi INI a MySQL je například databáze SQLite, která by se na tohle možná i hodila. Nevnucuji. Bylo by potřeba trochu přehodnotit strukturu, protože do databází se obvykle neukládají celé bloky, ale atomy.

Výhodou databází je, že se jejich data dají administrovat přes nějaké webové rozhraní. Může to pak dělat i třeba vedoucí směny, kterou bych jinak na PHP nenechal sáhnout.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
2528 příspěvků
4. 1. 2016   #11
-
0
-

Predstavuji si to tak, ze v upozorneni.php mas neco takoveho:

if ($id==1) echo 'chyba 1';
if ($id==2) echo 'chyba 2';

Tak, ja nevim, a nebylo by lepsi do toho souboru vlozit pole a vlozit to pres require? Je fakt, ze pole zere pamet, ale...

$upoz = array(
1 => 'chyba 1',
2 => 'chyba 2'
);
foreach ($id as $value) echo $upoz[$value];

A nebo to ulozit jako textovy soubor a vytahovat jen prislusne radky kdyz nechces zabirat pamet promenymi.

Nahlásit jako SPAM
IP: 2001:718:2601:26c:69cd:53...–
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, 47 hostů

 

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