testování souboru
11 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Ahoj, mám soubor do kteryho přidávám slova. Ale nechci aby tam nějaký slovo bylo možný přidat dvakrát. Můžete mě nakopnout? díky
-
pokud by bylo každé slovo na samostatném řádku, tak mě napadá: $fp = fopen("soubor.neco","r") $data = file($fp); Fclose($fp); reset($data); while(current($data)) {if($data == $pridavane_slovo) {$pridat = "ne";}; next($data);} if($pridat !="ne"} {$fp = Fopen("soubor.neco","a"); FWrite($fp,$pridavane_slovo); FClose($fp);}
-
Nakopnout? Cyklus, ktery soubor napred prohleda, zda-li se tam jiz ono slvo nevyskytuje. Najde-li ho, nevlozi ho.
-
$fp = "data/slova.txt"; $data = file($fp); if (!ereg($nejake_slovo, $data)) { echo "slovo neni v databázi."; } else { echo "slovo už JE v databazi."; } zkousim to takhle ale nejak to nefacha... jsem aspon na dobre ceste ?:)
-
$data je pole takze nie ereg($nejake_slovo, $data ale : $fp = "data/slova.txt"; $data = file($fp); foreach($data as $slovo) { if (!ereg($nejake_slovo, $slovo)) { echo "slovo neni v databázi."; } else { echo "slovo už JE v databazi."; } }
-
no jo tohle jakž takž funguje, když mám v souboru 50x slovo ahoj a budu ho tam přidat znova nak to 50x hodí hlášku "slovo už je v databázi" a naopak když tam neni tak to 50x napiše "slovo neni v databazi"
-
uvádím celý script tak jak se ho pokouším rozchodit: --------------------------------------------------------------------------- <!-- ZACATEK formulare pro zasilani ////////////////////////// --> <?php $fp = "data/emaily.txt"; $data = file($fp); foreach($data as $slovo) { if (!ereg($email, $slovo)) { if (ereg("^.+@.+\\..+$",$email)) { ?> Váš email byl úspěšně přidán do databáze.<br> Budete pravidelně informován(a) o změnách na těchto stránkách. <br> <a href="javascript:history.go(-1)">Zpět</a> <? @mail($email,"Pridani emailu do databaze "," Vase emailova adresa byla uspesne pridana do databaze serveru .\n Budete pravidelne informovan(a) o zmenach a novinkach na tomto serveru. \n\n\n\n\n\n----------------------------------------\n Pro zruseni zasilani novinek ze serveru zvolte adresu: http://server.cz/novinky/zrusit.php?email=$email .","From: info@server.cz"); @$filename="data/emaily.txt"; @$fp = fopen($filename,"r"); @$obsah = fread( $fp, filesize( $filename ) ); @fclose( $fp ); $obsah=$email."\n".$obsah; @unlink($filename); @$fp = fopen($filename,"w"); @fwrite( $fp , $obsah); @fclose($fp); } } else { echo "Neplatně zadaná e-mailová adresa.<br><a href=\"javascript:history.back()\">Zpět</a>"; } } ?> <!-- KONEC formulare pro zasilani ////////////////////////// --> tën email se tam přidává snad desetkrát...
-
Když ho tam máš 50x tak nepoužívej foreach, ale while a each(), a ošetři si nalezení výskytu. Jinak, jak už bylo uvedeno výš, můžeš zkusit soubor strčit do proměnné a najít přes nějakou tu fci....
-
Tak když to budeš zjišťovat tak si dej ten soubor do: $soubor = join("", file("adresa")); if(!ereg("neco", $soubor)): ...................
-
asi by se nenašel nějaký dobrák, který by výše uvedený script přepsal do fungující podoby? jsem vážně natvrdlej a nemám dostatek času na pořádné bádání nad problémem... předem moc děkuji...
-
/* před a za každým slovem musí být nový řádek */ $slovo = "ahoj"; // pridavane slovo, ktery se kontroluje, zda neni dvakrat $file = "slova.txt"; //soubor se slovama $obsah_souboru = file_get_contents($file); if(!strstr(strtolower($obsah_souboru), "\n".strtolower($slovo)."\n")){ //prevede se na male znaky a zjisti, zda neni dvakrat // neni dvakrat $fp = fopen($file, "a"); //otevření souboru if(fwrite($fp, "\n" . $slovo . "\n")) echo"slovo bylo uloženo"; // zapasání slova na konec souboru a vložení nového řádku else echo"problém s přidáváním slova"; fclose($fp); }else{ echo"slovo už v databázi je"; }