Archiv verlassen und diese Seite im Standarddesign anzeigen : Niewbie braucht Rat !
Hy @ all !
Ich habe hier ein Script, mit dem man ein Passwort generieren kann.
Das Script Funktioniert auch soweit , das mir das PAsswort auf der Seite angezeigt wird !
ich möchte aber das Passwort in eine *.txt Datei schreiben und komm nicht weiter !
hier mal der code :
function generatePW($length=8)
{
$dummy = array_merge(range('0', '9'), range('a', 'z'), range('A', 'Z'), array('#','&','@','$','_','%','?','+'));
// shuffle array
mt_srand((double)microtime()*1000000);
for ($i = 1; $i <= (count($dummy)*2); $i++)
{
$swap = mt_rand(0,count($dummy)-1);
$tmp = $dummy[$swap];
$dummy[$swap] = $dummy[0];
$dummy[0] = $tmp;
}
// get password
return substr(implode('',$dummy),0,$length);
}
// echo generatePW(10); // 10stelliges Passwort ausgeben...
$datei=fopen("generatePW.txt","w");
$output=fwrite($datei,$generatePW);
fclose($datei);
bin für jeden tip dankbar !!!
$generatePW schreibst du in die datei, da ist aber nix drin, solltest die funktion aufrufen
Bitte lies die Regeln (http://www.php-resource.de/forum/showthread.php?s=&threadid=50454), und nutze in Zukunft die [ php ]-Tags.
$output=fwrite($datei,$generatePW);
Wo hast du die Variable $generatePW mit einem Wert belegt?
Sorry werde dran denken !
die Datei generatePW.txt ist leer !
bei einem vorherigen versuch, hatte ich was in der Datei und habe diese am anfang geöffnet und ausgelesen. Nur ist das ja eigentlich unsinnig, da ich den ausgelesenen wert nicht benötige ( wie z.B. bei einem Counter )
wenn ich die // an dem echo wegnehme, schreibt er mir das PW ja auf den Schirm, also muss ich das PW ja auch in ne Datei schreiben können ! oder steh ich jetz auf der Leitung ???
hast du mal unsere hinweise beachtet??
Verstehe jetzt nicht auf was du dich beziehst ???
du hast $generatePW nichts zugewiesen ergo ist die textdatei leer.
"zuweisen"
$generatePW = generatePW();
sorry hast recht,
ABER
das passwort in der Datei ist dann ein anderes als das Generierte !
er macht mir quasi zwei! eins auf dem Schirm und ein anderes in der Datei !
och..
ist doch klar, du rufst die funktion zweimal auf, also erhälst du zwei unterschiedliche (zufallspass-)wörter. das erste gibst du mit echo aus und das zweite schreibst du in die datei.
schlattm 03-11-2006, 15:44 Original geschrieben von suchi
Hy @ all !
Ich habe hier ein Script, mit dem man ein Passwort generieren kann.
Das Script Funktioniert auch soweit , das mir das PAsswort auf der Seite angezeigt wird !
ich möchte aber das Passwort in eine *.txt Datei schreiben und komm nicht weiter !
hier mal der code :
function generatePW($length=8)
{
$dummy = array_merge(range('0', '9'), range('a', 'z'), range('A', 'Z'), array('#','&','@','$','_','%','?','+'));
// shuffle array
mt_srand((double)microtime()*1000000);
for ($i = 1; $i <= (count($dummy)*2); $i++)
{
$swap = mt_rand(0,count($dummy)-1);
$tmp = $dummy[$swap];
$dummy[$swap] = $dummy[0];
$dummy[0] = $tmp;
}
// get password
$temp = substr(implode('',$dummy),0,$length);
return $temp;
}
// echo generatePW(10); // 10stelliges Passwort ausgeben...
$datei=fopen("generatePW.txt","w");
$output=fwrite($datei,$temp);
fclose($datei);
bin für jeden tip dankbar !!!
edit: da war einer schneller -.-
hy schlattm,
habe das mit
$temp = substr(implode('',$dummy),0,$length);
return $temp;
versucht, aber dann schreibt er mir nix in die Datei !
schlattm 03-11-2006, 16:09 dann nimm das "fwrite" und alles auch noch in die function rein...
aber VOR dem return...
jahlives 03-11-2006, 22:32 $datei=fopen("generatePW.txt","w");
$output=fwrite($datei,generatePW());
fclose($datei);
Dass $temp so wie von dir geschrieben nur im Kontext der Fkt bekannt ist, müsstest du wissen ;) Also musst du diesen Rückgabewert für die weitere Verarbeitung haben. Statt das ganze zusätzlich noch auf ne Var zu speichern, kannst du deine Fkt direkt als 2. Argument für fwrite() benutzen.
Das Schreiben in die Datei würde ich persönlich nicht in die Fkt aufnehmen. Aber darüber lässt sich bestimmt trefflich streiten. :D
Gruss
tobi
|
|