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
$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..


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 »
Citace od: Kit kdy 04. 01. 2018, 21:55:34
Totéž.
Kdyz pouziju totez, tak se ten kod sice provede ale vypisuji se to zle.

<div id="box">
        <h2>aaaaaaaaaaaaaa</h2>
<?php echo "<p>bbbbbbbbbbbbbbbbbbbbbbb</p>"; ?>
</div>


vystup je
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.

<?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
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.


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 »
Citace od: Tomas2 kdy 04. 01. 2018, 23:23:03
PS: phpguru očividně žádný guru není :)

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

Tomas2

  • ****
  • 310
Re:Hledam funkci v php pro nacitani smiseneho obsahu souboru
« Odpověď #10 kdy: 05. 01. 2018, 15:35:37 »
Citace od: phpguru kdy 05. 01. 2018, 14:47:29
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í:


$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 »
Citace od: jentak kdy 05. 01. 2018, 14:29:05
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 »
Citace od: oNeDaL kdy 05. 01. 2018, 15:46:45
Citace od: jentak kdy 05. 01. 2018, 14:29:05
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

Citace od: to_je_jedno kdy 05. 01. 2018, 20:32:07
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