Autor Zpráva
JayJay
Profil *
Zdravím...Pootřeboval bych poradit se scriptem,který by z externího souboru (např: cisla.txt) vypsal jeho obsah,tak aby vypočítal příklad který je v cisla.txt. Například mám v cisla.txt příklad 1+1,a v chci aby mi to nějaký php script zobrazil jako 2...Poradí mi někdo??Předem díky :D
JayJay
Profil *
PS: zkoušel sem include i fopen,ale pořát to zobrazovalo 1+1...
WertriK
Profil
Načteš do proměné a potom na to použiješ eval ... mohlo by to fakčit ...
JayJay
Profil *
Dík,ale néjak mi to nejde...Stvořil jsem toto :
eval ($a);

Ale hlásí mi to chybu... :-(
MzM
Profil
načíst řádek a prohnat přes eval. Zkusím to sepsat.
<?php
/*
obsah souboru priklad.txt
----------
1+1
3+3
6*7
sqrt(2)
----------
*/

$f = fopen("priklad.txt", "r");
if ($f != null)
{
while (!feof($f))
{
$radek = fgets($f);
if (trim($radek) != '')
{
$eval = '$vysledek = '.$radek.';';
eval($eval);
echo "$radek = ";
echo "$vysledek<br/> ";
}
}
fclose($f);
}
?>

je tu jeden zádrhel. Buď musíš zajistit, že řádky v tom texťáku budou syntakticky správně nebo budeš muset nějak ošetřit text $eval před tím, než se provede. Ideální je PHP5 try catch... :-)
JayJay
Profil *
Díky funguje to...Akorát se bojím toho háčku,nějak sem ho totiž nepochopil. Jak si myslel to syntakticky správně??Bude tam prostě cislo+cislo+cislo atd...
MzM
Profil
to jo, ale pokud do souboru napíšeš třeba
1 + 1 text
tak to zahlásí, že došlo k chybě při vyhodnocování na řádku toho eval.

pokud zajistíš, že tam takové věci nebudou, tak to bude fungovat.
on se dá ošetřit i ten eval, to najdeš v manuálu k php.

zádrhel v tomto podání znamená, že jsem to nenapsal tak, aby to zareagovalo na případné chyby. Prostě nejsem dokonalý, resp. jsem líný to napsat celé. Musím taky nechat prostor pro další, lepší, mladší... :-)
JayJay
Profil *
oki,dííky moc ;-)
Toto téma je uzamčeno. Odpověď nelze zaslat.