使用PHP读取.txt文件并输出/echo所选信息


Read .txt file and output/echo selected information using PHP

我有一个名为priva.txt的文件

9992,"D7Mc8DJUsN4xisbVRKDfNVYxspVXQ776EG","6JQ5cdFBBax7GBmBuK8j2vvBcNUAYJjvzBQzMMfen26SwpCsNxh"
9993,"DEbh8BmvCHqJgX6YFMjbqgewHHQKo4PJWT","6JTwvRVVTTit1PZRpKQDSCeFPG2knWmDAN7uRgeY2o58pUD8sRf"
9994,"DMJ5LhU7XBtZvmNHswthR5tnFR71FFDxFn","6JMr4n8xK3NCdjyMBrqPWCvPpbifjr6ofPi1jha79FYzPSgBTWf"

等等。。。

我需要做的是以以下格式输出(例如通过回声(:

'{"D7Mc8DJUsN4xisbVRKDfNVYxspVXQ776EG":2,"DEbh8BmvCHqJgX6YFMjbqgewHHQKo4PJWT":2,"DMJ5LhU7XBtZvmNHswthR5tnFR71FFDxFn":2}'

2应该始终保持不变,这只涉及第一列,以"6"开头的字符串的第二列无关紧要。

我有一个php文件,它做:

<?php
$fh = fopen('priv.txt','r');
while ($line = fgets($fh)) {
// <... Do your work with the file ...>
echo($line);
}
fclose($fh);
?>

这只是输出priv.txt的全部内容。

有人能帮忙吗?

一个简短的解决方案:

$arr = array();
$lines = file("/path/file"); //put your txt file into an array called $lines
foreach ($lines as $line_num => $line) 
{
    $tmp = explode(",",$line); 
    array_push($arr,$tmp[1].":2");
}
$str = "{".implode(",",$arr)."}";
echo($str);

测试:http://phptester.net/

    <?php
    $aLines[0] = '9992,"D7Mc8DJUsN4xisbVRKDfNVYxspVXQ776EG","6JQ5cdFBBax7GBmBuK8j2vvBcNUAYJjvzBQzMMfen26SwpCsNxh"';
    $aLines[1] = '9993,"DEbh8BmvCHqJgX6YFMjbqgewHHQKo4PJWT","6JTwvRVVTTit1PZRpKQDSCeFPG2knWmDAN7uRgeY2o58pUD8sRf"';
    $aLines[2] = '9994,"DMJ5LhU7XBtZvmNHswthR5tnFR71FFDxFn","6JMr4n8xK3NCdjyMBrqPWCvPpbifjr6ofPi1jha79FYzPSgBTWf"';

        $aLineInArray2 = array();
    foreach ($aLines as $line)
    {
        $aLineInArray = explode(",", $line);

        foreach ($aLineInArray as $key=>$value)
        {
            $aLineInArray2[$key][] = $value;
        }
    }
    foreach ($aLineInArray2 as $key=>$value)
    {
        if ($key == 0) continue; //first row skip?
        $str = "{";
        foreach ($value as $key2=>$value2)
        {
            if ($key2 > 0) $str .= ',';
            $str .= $value2.':2';
        }
        $str .= "}'n";
        echo $str;
    }

我试图创建一个用于文件读取的包。你可能想看看源

注意,这行代码将txt文件的行返回到数组中

$lines = file("your.txt")
<?php
$fh = fopen('priv.txt','r');
$out = fgets($fh, filesize('priv.txt'));
fclose($fh);
echo $out;


 //OR you can do like this (edited)
   $out = explode("'n", $out);
   $str = "";
   foreach($out as $line) 
   {
     $temp = explode(",", $line);
     $str .= "'".$temp[1]."'".":2,";
   }
   echo "{$str}";
        ?>

使用fgets((和filesize((