簡體   English   中英

將此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" } ]

但是,我不想在需要時運行此腳本(這會很多),而是想將此腳本的結果寫入文本文件。

這可能嗎?

您可以使用多種方式將文本寫入文件。
1.如果沒有php,只需將腳本輸出重定向到特定文件,如下所示:

# php yourfile.php > result.txt

然后在result.txt中有一個結果。

  1. 用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 );

您可以使用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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM