Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法将回显输出写入文本文件_Php_Echo_Whitespace_Fwrite - Fatal编程技术网

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

我想生成两个随机数,比如用户名和密码,然后将其保存在文本文件中。我的脚本正在成功生成数字,但我无法在两个变量之间放置单个空格,也无法在文本文档中写入文件。请在下面找到我的php脚本:

 /**
////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);