Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: jentak 04. 01. 2018, 21:18:05
-
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éž.
-
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.
-
PS: phpguru očividně žádný guru není :)
guru jsem, jen jsem nepochopil přesně co chce.
-
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.
-
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
-
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
zkus nam tak nejak rict co je cilem... cucham tady poradny prasarny
-
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.
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á.
Sám to používám, ale u jiných programátorů jsem to ještě neviděl.
A kolik programatoru znas?
-
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.
-
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í.
-
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