Hledám funkci v PHP pro načítání smíšeného obsahu souboru

jentak

Zdravim,
kdyz nacitam soubor do promene ktery  obsahuje pouze ciste html pouzivam
Kód: [Vybrat]
$var = file_get_contents ('nejaky-soubor.html');co mam ale pouzit za funkci pro nacteni do promene, kdyz ten soubor s cistym html bude obsahuje i nejake php?
Diky dik..
« Poslední změna: 08. 01. 2018, 08:42:49 od Petr Krčmář »


Kit

Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #1 kdy: 04. 01. 2018, 21:55:34 »
Totéž.

jentak

Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #2 kdy: 04. 01. 2018, 22:33:00 »
Totéž.
Kdyz pouziju totez, tak se ten kod sice provede ale vypisuji se to zle.

Kód: [Vybrat]
<div id="box">
        <h2>aaaaaaaaaaaaaa</h2>
<?php echo "<p>bbbbbbbbbbbbbbbbbbbbbbb</p>"?>
</div>

vystup je
Kód: [Vybrat]
aaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbb
"; ?>

phpguru

Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #3 kdy: 04. 01. 2018, 22:55:26 »
namisto vypisovani to vyevaluj.

Kód: [Vybrat]
<?php
$var 
file_get_contents ('nejaky-soubor.html');
eval(
' ?>
'.$var.'<?php ');

jentak

Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #4 kdy: 04. 01. 2018, 23:19:46 »
je to uplne stejny


Tomas2

  • ****
  • 310
    • Zobrazit profil
    • E-mail
Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #5 kdy: 04. 01. 2018, 23:23:03 »
snad by mělo fungovat tohle. Zapne to ob (output buffer), načte soubor jako php (require) a chtělo by to poslat jeho obsah na výstup, ale díky ob_start ho nechá v paměti, ob_get_clean obsah téhle paměti uloží do proměnné. Ob_start se může zanořovat, nemělo by to tedy mít dopad na existující kód. Php ale nemám teď k dispozici, takže ani teď nedokážu ověřit.

Kód: [Vybrat]
ob_start();
require 'nejaky-soubor.html';
$var = ob_get_clean();

PS: phpguru očividně žádný guru není :)

jentak

Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #6 kdy: 05. 01. 2018, 14:29:05 »
Toto fungovat bude, ale hledam ciste reseni.

phpguru

Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #7 kdy: 05. 01. 2018, 14:40:19 »
co je na tom nečistého?

j0hny

Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #8 kdy: 05. 01. 2018, 14:40:36 »
Z jednoho scriptu pouštět druhý skrz načítání souboru samo o sobě čisté řešení rozhodně není. Proto bych se nebál použití outpu bufferingu.

phpguru

Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #9 kdy: 05. 01. 2018, 14:47:29 »
PS: phpguru očividně žádný guru není :)

guru jsem, jen jsem nepochopil přesně co chce.

Tomas2

  • ****
  • 310
    • Zobrazit profil
    • E-mail
Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #10 kdy: 05. 01. 2018, 15:35:37 »
guru jsem, jen jsem nepochopil přesně co chce.

to bylo spíše pošťouchnutí, nic proti, až na základě tvoji odpovědi a reakce na ní mi došlo co tazatel chce.

Připojil bych se k otázce co je na output buffering nečistého? Nejedná se o žádný eval, avšak stejně může ovlivnit aktuální context. Ono cpát takhle kód vedle z principu samo nečisté je. Output buffering běžně používají frameworky, tempalte enginy a další udělátka.

Pokud bys chtěl nějakou izolaci, zavolat subprocess nebo dokonce znovu http serveru může být řešení:

Kód: [Vybrat]
$var = shell_exec('php nejaky-soubor.html');

Tady ale narazíš na řadě hostingů, že to nebude fungovat.

oNeDaL

Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #11 kdy: 05. 01. 2018, 15:46:45 »
Toto fungovat bude, ale hledam ciste reseni.

Jediné čisté řešení je oddělit HTML a PHP. Navždy.

Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #12 kdy: 05. 01. 2018, 20:32:07 »
zkus nam tak nejak rict co je cilem... cucham tady poradny prasarny
Děkuji za možnost editace příspěvku.

Kit

Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #13 kdy: 05. 01. 2018, 21:46:44 »
Toto fungovat bude, ale hledam ciste reseni.

Jediné čisté řešení je oddělit HTML a PHP. Navždy.

Sám to používám, ale u jiných programátorů jsem to ještě neviděl.

Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #14 kdy: 05. 01. 2018, 22:05:31 »
taky bych se vsadil, že to bude nějaká příšernost. co takhle načítat externí SQL query pochopitelně aby se rovnou provedla? to už jsem viděl, nic mě nepřekvapí.

mám podezření - už dlouho jsem to neviděl, že přes require/include(); šlo normální načíst i externí zdroj, ale normální lidi to mají určitě zablokovaný v konfiguraci allow_url_include=0

zkus nam tak nejak rict co je cilem... cucham tady poradny prasarny
„Řemeslo se naučí každý. Umění nikdo.“
„Jednoduchost je nejvyšší úroveň sofistikovanosti.“
- Leonardo Da Vinci