Autor Zpráva
janky
Profil *
Dobrý den,

používám níže uvedený kód k tomu, aby se mi na stránce zobrazily dva náhodné údaje ze souboru seznam.txt. Údaje v souboru jsou odděleny znakem #.

Pro lepší přehlednost a snadnější editaci souboru bych potřeboval, abych mohl údaje oddělovat tím, že budou každý na novém řádku. Neumím si s tím však poradit - mám jen základní znalost php a postujuji spíš metodou pokus omyl...

Děkuji těm, kteří mi dokáží poradit.

Vladislav J.


<?php
error_reporting(0);
mt_srand((double)microtime()*1000003);
function aca($acb)
{
$acc = File('seznam.txt');
$acd=$acc[0];
$ace=(Explode('#',$acd));
$acf=Count($ace)-2;
$acg=mt_rand(0,$acf);
if(!in_array($acg,$acb))
{
return $acg;
}
else
{
return aca($acb);
}
}
$ach=array();
for($aci=0;$aci<2;$aci++)
{
$acg=aca($ach);
$ach[$aci]=$acg;
$acc = File('seznam.txt');
$acd=$acc[0];
$ace=(Explode('#',$acd));
echo "<p>".$ace[$acg]."</p>";
}
?>
YoSarin
Profil
janky
Zkus místo
Explode('#',$acd)
napsat
Explode('\n',$acd)
a odděluj ty informace novým řádkem.
YoSarin
Profil
Možná budeš muset použít uvozovky místo apostrofů...
janky
Profil *
Ahoj,
díky za pokus o pomoc, ale nefunguje to... Když zadám ať už v apostofech nebo v uvozovkách, tak mi to vždy dá jako výsledek pouze údaj z prvního řádku.
Asi by se musel nějak předělat ten kód,... ale na to já nemám dost znalosí o php. Umí to někdo?
Vladislav J.


<?php
// vybere nahodne jeden link ze souboru. Za kazdym linkem musi byt #, a vsechny musi byt na jednom radku

$xfile = File('soubor.txt');
$row=$xfile[0];
$Linx=(Explode('#',$row));
$pocet=Count($Linx)-2;
srand((double)MicroTime()*1e6);
$ktery=mt_rand(0,$pocet);
echo $Linx[$ktery];
?>
Toto téma je uzamčeno. Odpověď nelze zaslat.

0