Php 无法将回显输出写入文本文件
我想生成两个随机数,比如用户名和密码,然后将其保存在文本文件中。我的脚本正在成功生成数字,但我无法在两个变量之间放置单个空格,也无法在文本文档中写入文件。请在下面找到我的php脚本:Php 无法将回显输出写入文本文件,php,echo,whitespace,fwrite,Php,Echo,Whitespace,Fwrite,我想生成两个随机数,比如用户名和密码,然后将其保存在文本文件中。我的脚本正在成功生成数字,但我无法在两个变量之间放置单个空格,也无法在文本文档中写入文件。请在下面找到我的php脚本: /** ////generatePassword **/ function generatePassword ($length = 7) { // start with a blank password $genpassword = ""; // define possible charact
/**
////generatePassword
**/
function generatePassword ($length = 7)
{
// start with a blank password
$genpassword = "";
// define possible characters
$possible = "0123456789";
// set up a counter
$i = 0;
// add random characters to $password until $length is reached
while ($i < $length) {
// pick a random character from the possible ones
$char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
// we don't want this character if it's already in the password
if (!strstr($genpassword, $char)) {
$genpassword .= $char;
$i++;
}
}
// done!
return $genpassword;}
echo generatePassword().generatePassword();
$cfgclines='';
addFlinetoConfig($cfgclines);
writetoLog("cfgclines");
function addFlinetoConfig($cfgclines)
{$handle = fopen("/var/etc/user.cfg",'a');
fwrite($handle, $genpassword);
fclose($handle);
}
?>
/**
////生成密码
**/
函数生成器密码($length=7)
{
//以空白密码开始
$genpassword=“”;
//定义可能的字符
$mablue=“0123456789”;
//设柜台
$i=0;
//向$password添加随机字符,直到达到$length
而($i<$length){
//从可能的字符中选择一个随机字符
$char=substr($可能,mt_rand(0,strlen($可能)-1),1);
//如果这个字符已经在密码中,我们不想要它
如果(!strstr($genpassword,$char)){
$genpassword.=$char;
$i++;
}
}
//完成了!
返回$genpassword;}
echo generatePassword()。generatePassword();
$cfgclines='';
addFlinetoConfig($cfgclines);
写日志(“cfgclines”);
函数addFlinetoConfig($cfgclines)
{$handle=fopen(“/var/etc/user.cfg”,“a”);
fwrite($handle,$genpassword);
fclose($handle);
}
?>
当我在浏览器中打开此文件时,会得到如下随机数:83215063912640
第7个字符后面应该有一个空格,如下所示:
8321506 3912640
此外,我无法调用echo函数将其写入名为user.cfg的文本文件中。如果调用echo generatePassword()。generatePassword(),则需要手动添加一个空格:
echo generatePassword() . " " . generatePassword();
至于无法写入文件,代码是正确的,因此可能存在权限问题。确保为脚本授予写访问权限(chmod()的中间字符chmod()
):
你的回答解决了我关于空间的第一个问题,但我仍然无法将其写入文本文件,权限已被更正,然而,我检查了错误日志,发现日志文件中有一个条目:
PHP注意:未定义变量:genpassword
我想我们必须先在PHP中定义变量$genpassword
,然后在fwrite中调用它,但我不知道如何将其指定为$variable。
chmod("/var/etc/user.cfg", 0755);