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..
Totéž.
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
"; ?>
namisto vypisovani to vyevaluj.
<?php
$var = file_get_contents ('nejaky-soubor.html');
eval(' ?>'.$var.'<?php ');
je to uplne stejny
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í :)
Toto fungovat bude, ale hledam ciste reseni.
co je na tom nečistého?
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.
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.
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.
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.
zkus nam tak nejak rict co je cilem... cucham tady poradny prasarny
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.
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
Citace od: Kit kdy 05. 01. 2018, 21:46:44
Sám to používám, ale u jiných programátorů jsem to ještě neviděl.
A kolik programatoru znas?
Ideální je to celé rozsekat na malé kousky. Už jen z toho důvodu, že se to nemusí celé nahrávat do paměti, loadujou se pouze části co jsou aktuálně v použití.
Snadno se v tom hledá, protože je jasné, který modul je nahraný. Modul si řekne o svůj ksicht a je to vyladěný.
To je zcela univerzální řešení na všechno od integrace po programování. Rozdělit na core, pluginy, ostatní.
Přilepit do toho QoS,cache kvůli SLA, všechno přes API a jedeme jedeme :) ale to jsou fakt naprosto samozřejmé věci.
Citace od: Kit 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.
Zapomněl ještě na variantu, že to bude pouze backend a celá aplikace poběží v javascriptu, jak je časté. Tam fakt žádná vizuální reprezentace v backendu nikdy nebude. Bude to sypat jen JSON přes nějaký Swagger like rozhraní :)
Vlastně vůbec nevíme co ten tazatel chtěl udělat a na každou operaci se prostě hodí něco jiného. Pokud chtěl jen naskriptovat něco jednoduchého jednoúčelového je to nakonec zcela jedno jak to udělá.
Citace od: to_je_jedno kdy 05. 01. 2018, 22:21:53
Citace od: Kit kdy 05. 01. 2018, 21:46:44
Sám to používám, ale u jiných programátorů jsem to ještě neviděl.
A kolik programatoru znas?
Citace od: to_je_jedno kdy 05. 01. 2018, 22:21:53
Citace od: Kit kdy 05. 01. 2018, 21:46:44
Sám to používám, ale u jiných programátorů jsem to ještě neviděl.
A kolik programatoru znas?
To je jedno.
Citace od: Kit 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.
Bohužel i já to často vidím. Je to jako mor, jak to v nějaké firmě dělá pár lidí, rozšíří se to na celé oddělení.
Citace od: phpguru kdy 04. 01. 2018, 22:55:26
namisto vypisovani to vyevaluj.
<?php
$var = file_get_contents ('nejaky-soubor.html');
eval(' ?>'.$var.'<?php ');
To určitě, vůbec neví jaká bije a ještě evaluace.
Přestaňte mu radit.
a zachráníte koťátko