使用 PHP 读取 .txt 文件和 output/echo 选定的信息
Read .txt file and output/echo selected information using PHP
我有一个名为 priv.txt 的文件。里面写着:
9992,"D7Mc8DJUsN4xisbVRKDfNVYxspVXQ776EG","6JQ5cdFBBax7GBmBuK8j2vvBcNUAYJjvzBQzMMfen26SwpCsNxh"
9993,"DEbh8BmvCHqJgX6YFMjbqgewHHQKo4PJWT","6JTwvRVVTTit1PZRpKQDSCeFPG2knWmDAN7uRgeY2o58pUD8sRf"
9994,"DMJ5LhU7XBtZvmNHswthR5tnFR71FFDxFn","6JMr4n8xK3NCdjyMBrqPWCvPpbifjr6ofPi1jha79FYzPSgBTWf"
等...
我需要做的是以这种格式输出(例如通过 echo):
'{"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的全部内容。
有人能帮忙吗?
<?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()
<?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;
}
我尝试创建一个文件读取包。你可能想看看 source
注意这行代码 returns 将你的 txt 文件的行放入一个数组中
$lines = file("your.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);
我有一个名为 priv.txt 的文件。里面写着:
9992,"D7Mc8DJUsN4xisbVRKDfNVYxspVXQ776EG","6JQ5cdFBBax7GBmBuK8j2vvBcNUAYJjvzBQzMMfen26SwpCsNxh"
9993,"DEbh8BmvCHqJgX6YFMjbqgewHHQKo4PJWT","6JTwvRVVTTit1PZRpKQDSCeFPG2knWmDAN7uRgeY2o58pUD8sRf"
9994,"DMJ5LhU7XBtZvmNHswthR5tnFR71FFDxFn","6JMr4n8xK3NCdjyMBrqPWCvPpbifjr6ofPi1jha79FYzPSgBTWf"
等...
我需要做的是以这种格式输出(例如通过 echo):
'{"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的全部内容。
有人能帮忙吗?
<?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()
<?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;
}
我尝试创建一个文件读取包。你可能想看看 source
注意这行代码 returns 将你的 txt 文件的行放入一个数组中
$lines = file("your.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);