我有这个功能:
function permGen($a,$b,$c,$d,$e,$f,$g) {
foreach ($a as $key1 => $value1){
foreach($b as $key2 => $value2){
foreach($c as $key3 => $value3) {
print trim($d[rand(0,count($d)-1)]).trim($value1).trim($e[rand(0,count($e)-1)]).trim($value2).trim($f[rand(0,count($f)-1)]).trim($value3).$g;
}
}
}
}
这是我需要的输出,当我在屏幕上打印时,它可以完美地工作。
假设,我定义了所有参数而没有任何问题。现在,当我放入permGen($ arguments ....);时,这里出现了问题。有用。但是当我尝试通过这样的文件处理将其写入文件时,
$handle = fopen('new.txt', 'w+');
fwrite($handle, permGen($arguments...));
它似乎不起作用。它创建一个文件,但其中没有任何内容。我尝试用退货替换打印。然后它在new.txt文件中只给出了1个循环,没有其他内容。
谢谢
function permGen($handle, $a,$b,$c,$d,$e,$f,$g) {
foreach ($a as $key1 => $value1){
foreach($b as $key2 => $value2){
foreach($c as $key3 => $value3) {
fwrite(
$handle,
trim($d[rand(0,count($d)-1)]).trim($value1).trim($e[rand(0,count($e)-1)]).trim($value2).trim($f[rand(0,count($f)-1)]).trim($value3).$g;
);
}
}
}
}
// To write to a file
$handle = fopen('new.txt', 'w+');
permGen($handle, $other, $arguments, ...);
fclose($handle);
// To write to normal output (browser, whatever)
$handle = fopen('php://output', 'w');
permGen($handle, $other, $arguments, ...);
fclose($handle);
编辑
如果您不想以任何方式修改函数,则可以使用输出缓冲来捕获打印的输出:
ob_start();
permGen($arguments...);
$output = ob_get_contents();
ob_end_clean();
file_put_contents(
'new.txt',
$output,
FILE_APPEND
);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句