Potreboval by som zistit ako by sa dalo hladat a strankach v PHP, ale bez SQL.
dost blbě....
co přesně si představuješ?
tak můžeš otevřít danou skupinou souborů a hledat v nich....
ja si to predstavujem asi takto:
//subor hladaj.php
$hladane_slovo="kybernetický";
$open=FOpen ("adresy.dat","r");
$read=FRead ($open,filesize("adresy.dat"));
$e=explode ("\n",$read);
$file=file ("adresy.dat");
for ($i=count($file);$i>0;$i--) {
$open=FOpen ($e[$i],"r");
$read=FRead ($open,filesize($e[$i]));
if (?) {
echo "Slovo \"$hladane_slovo\" bolo najdene na adrese <a href=$e[$i] target=_blank>$e[$i]</a><br>";
}
}
//subor adresy.dat
www.euphoria.wz.cz/xyz/index.html
www.euphoria.wz.cz/yxz/index.html
www.euphoria.wz.cz/zxy/index.html
ale aky prikaz mam dat namiesto tych otaznikov?
>> if (?) {
Copak to je nějaká podmínka?
zorro>ale aky prikaz mam dat namiesto tych otaznikov?
tam bolo povodne nieco taketo if (?) { ale forum to asi zmenilo na "?"
tam kde je ten otaznik neviem co mam dat aby to fungovalo
No, tak teď už v tom mám pěknej guláš. Copak fórum změní "otazník " ? Když napíšeš tady & tak ti z toho vyjede &, ale jinak to nechápu.
zas to zmenilo if (?+?+?+?+?+?+?+?) {
tusim to funguje takto:
$zmenene=str_replace ("?","?");
Sorry, fakt nechápu co ti změní, když mi to pořádně nevysvětlíš. Asi si sedím na vedení.
$zmenene=str_replace ("?+?+?","?");
...dost bolo o otaznikoch...teraz o tom hladani...
>> $zmenene=str_replace ("?","?");
1) Opět nechápu, co měníš, když tam máš mít dva otazníky
2) BTW: Fce Str_Replace() obsahuje tři parametry, ale to doufám víš.
tak skus napisat pet otaznikov po sebe a uvidis...
No, koukám, že se tady překřikujeme a odepisujeme oba v jeden a ten samý moment. Zeptám se tě takhle: Co ti brání to přepsat do databáze a usnadnit si tak tvůj problém?
problem: neviem robit v SQL a teraz nemam cas sa ho ucit, lebo sa prave ucim C/C++ a okrem toho webzdarma ma pre sql vyhradenych len 5MB
skus mi pomoct najst v tomto chybu (ak budes ochotny) (diki):
<?
$hladane_slovo="kybernetický";
$open=FOpen ("adresy.dat","r");
$read=FRead ($open,filesize("adresy.dat"));
$e=explode ("\n",$read);
$file=file ("adresy.dat");
for ($i=count($file);$i>0;$i--) {
$open=FOpen ($e[$i],"r");
$read=FRead ($open,filesize($e[$i]));
$f=explode (" ",$e[$i]);
$s="no";
$x=0;
while ($s=="no") {
if ($f[$x]) {
if ($f==$hladane_slovo) {
echo "Slovo \"$hladane_slovo\" bolo najdene na adrese <a href=$e[$i] target=_blank>$e[$i]</a><br>";
$s="yes";
$x=$x+1;
}
} else {
$s="yes";
}
}
}
?>
Rád bych ti poradil, ale přiznám se, že tomu moc nerozumím. Jen mi nejde do hlavy toto:
$open=FOpen ($e[$i],"r");
První parametr fce fopen() by měl být IMHO soubor, resp. cesta k němu, ale z tohoto to tak nevypadá.
bla-bla
$e=explode ("\n",$read);
bla-bla
for ($i=count($file);$i>0;$i--) {
bla-bla
$open=FOpen ($e[$i],"r");
obsah adresy.dat:
xyz/1.html
xyz/2.html
xyz/3.html
Co by to malo robit:
1.) Otvori si subor adresy.dat na citanie
2.) Obsah suboru rozdeli do pola ($e[0]=1riadok,$e[1]=2riadok,...)
3.) Postupne otvori vsetky $e[0] (1riadok=xyz/1.html) $e[1]...
4.) Kazdy otvoreny subor rozdeli na slova (f[0]=prve slovo,...)
5.) Vytvori premnnu "$s" s hodnotou "no"
6.) Prejde cely subor a ak najde slovo zodpovedajúce "$hladanemu_slovu", nastavi premennej "$s" hodnotu "yes", cim sa skonci hladanie v tomto subore, a prejde sa na dalsi subor ($e[1])
...Neviem ci tomu niekdo pochopi, ale za snahu to stoji
skusim to vysvetlit este takto:
<?
$hladane_slovo="kybernetický"; //slovo, ktore sa ma hladat
$open=FOpen ("adresy.dat","r"); //subor v ktorom su ulozene adresy HTML suborov v ktorych sa ma hladat slovo
$read=FRead ($open,filesize("adresy.dat")); //otvori tento subor na citanie
$e=explode ("\n",$read); //rozdeli subor do pola ($e[0]=riadok 1, $e[1]=riadok 2)
$file=file ("adresy.dat"); //otvori subor v ktorom su ulozene adresy HTML suborov v ktorych sa ma hladat slovo
for ($i=count($file);$i>0;$i--) { //tento usek sa bude opakovat tolko krat, kolko je uvedenych HTML suborov
$open=FOpen ($e[$i],"r"); //otvori prvy HTML subor, potom druhy, potom treti, ...
$read=FRead ($open,filesize($e[$i])); //Precita prvy HTML subor, potom druhy, ...
$f=explode (" ",$read); //Rozdeli prvy HTML subobor na slova, potom rozdeli druhy subor na slova, ...
$s="no"; //premenna s s hodnotou no. Ak bude mat premenna hodnotu yes, skonci sa vyhladavanie v HTML subore
$x="0"; //premnna x s hodnotou 0. Po kazdom prejdenom slove sa hodnota zvisi o 1.
while ($s=="no") { //cyklus while. Ak je hodnota premennej s no, tak pokracuje dalej
if ($f[$x]) { //zisti ci existuje slovo. ak slovo neexistuje, vrati premennej s hodnotu yes
if ($f==$hladane_slovo) { //ak sa naslo spravne slovo
echo "Slovo \"$hladane_slovo\" bolo najdene na adrese <a href=$e[$i] target=_blank>$e[$i]</a><br>";
$s="yes";
$x=$x+1;
}
} else {
$s="yes";
}
}
}
?>
Teď už konečně chápu jak to myslíš a IMHO to musí jít i nějak udělat. Ale otázka zní "jak"?
poznamka: ak si to prehodis do poznamkoveho bloku, tak je to citatelnejsie
blahapet: Ohledně těch otazníků. Sám nevim, jaký to má smysl, ale tohle forum, když napíšeš víc otazníků za sebou, tak to změní na jeden. :)