Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Niewbie braucht Rat ! [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Niewbie braucht Rat !


 
suchi
03-11-2006, 14:59 
 
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 !!!

 
hall
03-11-2006, 15:03 
 
$generatePW schreibst du in die datei, da ist aber nix drin, solltest die funktion aufrufen

 
wahsaga
03-11-2006, 15:04 
 
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?

 
suchi
03-11-2006, 15:15 
 
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 ???

 
hall
03-11-2006, 15:22 
 
hast du mal unsere hinweise beachtet??

 
suchi
03-11-2006, 15:24 
 
Verstehe jetzt nicht auf was du dich beziehst ???

 
hall
03-11-2006, 15:26 
 
du hast $generatePW nichts zugewiesen ergo ist die textdatei leer.

"zuweisen"

$generatePW = generatePW();

 
suchi
03-11-2006, 15:32 
 
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 !

 
hall
03-11-2006, 15:44 
 
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 -.-

 
suchi
03-11-2006, 16:02 
 
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:56 Uhr.