将此 PHP 脚本的结果写入文本文件
Writing the results of this PHP script to a text file
我什至不知道这是否可行,所以如果这是一个愚蠢的问题,请随意打倒我,但我想不出办法。
这是我的脚本,它从数据库中获取数据并按照我想要的方式格式化结果:
$users = get_users('user_login', 'display_name', 'ID');
echo 'users: [ ';
$n = count($users);
foreach ($users as $i => $user) {
echo '{ name: "'.$user->user_login.'"';
echo ' username: "'.$user->display_name.'"';
echo ' image: "'.$user->ID.'" }';
if (($i+1) != $n) echo ', ';
}
echo '] ';
当直接 运行 时基本上会吐出以下内容:
users: [ { name: "007bond" username: "James Bond" image: "830" }, { name: "4Tek" username: "4Tek" image: "787" } ]
但是我不想在需要时 运行 运行此脚本(这会很多),我想将此脚本的结果写入文本文件。
这可能吗?
您可以使用 fopen 和 fwrite
$users = get_users('user_login', 'display_name', 'ID');
$string= 'users: [ ';
$n = count($users);
foreach ($users as $i => $user) {
$string.= '{ name: "'.$user->user_login.'"';
$string.= ' username: "'.$user->display_name.'"';
$string.= ' image: "'.$user->ID.'" }';
if (($i+1) != $n) $string.= ', ';
}
$string.='] ';
$my_file = 'file.txt';
$handle = fopen($my_file, 'w') or die('Cannot open file: '.$my_file);
fwrite($handle, $string);
你也可以这样做。以防万一
$fp = fopen('data.txt', 'w');
foreach ($users as $i => $user) {
fwrite($fp, 'whatever');
}
fwrite($fp, 'anything');
fclose($fp);
您可以使用多种方法将文本写入文件。
1. 如果没有 php,只需将脚本输出重定向到特定文件,如下所示:
# php yourfile.php > result.txt
然后你在 result.txt 中得到结果。
- 用php一个可能的方法:
$users = get_users('user_login', 'display_name', 'ID');
$text = 'users: [ ';
$n = count($users);
foreach ($users as $i => $user) {
$text .= '{ name: "'.$user->user_login.'"';
$text .= ' username: "'.$user->display_name.'"';
$text .= ' image: "'.$user->ID.'" }';
if (($i+1) != $n) $text .= ', ';
}
$text .= '] ';
file_put_contents( 'result.txt', $text );
我什至不知道这是否可行,所以如果这是一个愚蠢的问题,请随意打倒我,但我想不出办法。
这是我的脚本,它从数据库中获取数据并按照我想要的方式格式化结果:
$users = get_users('user_login', 'display_name', 'ID');
echo 'users: [ ';
$n = count($users);
foreach ($users as $i => $user) {
echo '{ name: "'.$user->user_login.'"';
echo ' username: "'.$user->display_name.'"';
echo ' image: "'.$user->ID.'" }';
if (($i+1) != $n) echo ', ';
}
echo '] ';
当直接 运行 时基本上会吐出以下内容:
users: [ { name: "007bond" username: "James Bond" image: "830" }, { name: "4Tek" username: "4Tek" image: "787" } ]
但是我不想在需要时 运行 运行此脚本(这会很多),我想将此脚本的结果写入文本文件。
这可能吗?
您可以使用 fopen 和 fwrite
$users = get_users('user_login', 'display_name', 'ID');
$string= 'users: [ ';
$n = count($users);
foreach ($users as $i => $user) {
$string.= '{ name: "'.$user->user_login.'"';
$string.= ' username: "'.$user->display_name.'"';
$string.= ' image: "'.$user->ID.'" }';
if (($i+1) != $n) $string.= ', ';
}
$string.='] ';
$my_file = 'file.txt';
$handle = fopen($my_file, 'w') or die('Cannot open file: '.$my_file);
fwrite($handle, $string);
你也可以这样做。以防万一
$fp = fopen('data.txt', 'w');
foreach ($users as $i => $user) {
fwrite($fp, 'whatever');
}
fwrite($fp, 'anything');
fclose($fp);
您可以使用多种方法将文本写入文件。
1. 如果没有 php,只需将脚本输出重定向到特定文件,如下所示:
# php yourfile.php > result.txt
然后你在 result.txt 中得到结果。
- 用php一个可能的方法:
$users = get_users('user_login', 'display_name', 'ID'); $text = 'users: [ '; $n = count($users); foreach ($users as $i => $user) { $text .= '{ name: "'.$user->user_login.'"'; $text .= ' username: "'.$user->display_name.'"'; $text .= ' image: "'.$user->ID.'" }'; if (($i+1) != $n) $text .= ', '; } $text .= '] '; file_put_contents( 'result.txt', $text );