generateStrings() returneaza un sir, nu un string. Sirul respectiv trebuie parsat ca sa-l poti adauga corect in fisier:
foreach(generateStrings($_POST['lungime'], $_POST['cate']) as $string)
{
file_put_contents("a.txt", $string . "\r\n", FILE_APPEND);
}
foreach ia fiecare element din sir si il trateaza separat ca variabila $string
al doilea parametru din file_put_contents, $string . "\r\n", pune stringul in fisier si la sfarsit ii adauga delimitatorul pentru rand nou pentru Windows (pe Linux ar fi doar "\n")
al treilea parametru din file_put_contents, FILE_APPEND, e un flag care sa zica sa adauge in continuarea fisierului si sa nu stearga continutul anterior
Tot codul pentru referinta
<form action="" method="post">
Cate coduri sa genereze: <input type="text" name="cate"><br />
Lungime coduri: <input type="text" name="lungime"><br /><br />
<input type="submit" value="Genereaza">
</form>
<br /><br />
<?php
function getRandom($lungime) {
$a = str_split("1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM");
$str = "";
for($i=0; $i<(int) $lungime; $i++)
$str .= $a[rand(0,count($a)-1)];
return $str;
}
function generateStrings($lungime, $cate){
$str = [];
for($i=0;$i<$cate;$i++)
$str[] = getRandom($lungime, $cate);
return $str;
}
if(isset($_POST))
foreach(generateStrings($_POST['lungime'], $_POST['cate']) as $string)
file_put_contents("a.txt", $string . "\r\n", FILE_APPEND);
?>