解决了!我使用了一个现有的 json 文件,我用来在页面上显示图表。
我有一个 2000 行的文本文件。我想将前 3000 个字节读入一个 php 变量。这有效,但仅以读取整个文本文件为代价:
$little_diagrams = ('assets/diagrams.txt'); $mason = file($little_diagrams);
Run Code Online (Sandbox Code Playgroud)
我试过这个,但它不起作用。关于为什么的任何想法?
$little_diagrams = file_get_contents("assets/diagrams.txt", NULL, NULL, 0, 3000);
$mason = file($little_diagrams);
Run Code Online (Sandbox Code Playgroud)
麻烦的是我必须处理“assets/diagrams.txt”中的行,例如:2833|6979|Poloskov|||Nikolayev|Igor|2272|1n3rk1/3p1ppp/5q2/2p1P3/2B2P2/r2Q2P1/1b3N2P/1R
2832|6979|波洛斯科夫|||尼古拉耶夫|伊戈尔|2272|r2qk2r/1b1p1ppp/n4b2/2pN4/2B1P3/8/PP3PPP/R2QK1NR| 2831|6978|Nikolayev|Igor|2272|Buturin|Vladimir (IM)|2405|r3r1k1/1ppb1pp1/3p1n1p/2nP4/p3P3/4NP2/PPBN1KPP/R3R3| 2830|6978|Nikolayev|Igor|2272|Buturin|Vladimir (IM)|2405|r2qr1k1/1ppb1pp1/p1np1n1p/8/3PP3/4NN2/PPB2PPP/R2Q1RK1|
2829|6977|Nikolayev|Igor|2272|Tabatadze|Tamaz|2288|2rqk2r/4bp1p/p1n1b3/3pP3/Pp1P2p1/1P3p2/1B2NPPP/2RQNRK1|
2828|6976|卢茨科|伊戈尔|2307|尼古拉耶夫|伊戈尔|2272|6r1/1pp2p1k/p2p3p/2bP4/2P2r2/1P4NP/P2R1P1K/5R2|
新代码:(不起作用,http://communitychessclub.com/左栏底部不显示图表)
$filename = "assets/diagrams.txt";
$handle = fopen($filename, "r");
$little_diagrams = fread($handle, 3000); //<<--- as per your need
fclose($handle);
$X = 5000; $line = 0;
foreach($little_diagrams as $line) {$X++; if ($X >= 5040) {break;} $token = explode("|", $line); //etc
}
Run Code Online (Sandbox Code Playgroud)
<?php
$filename = "c:\\files\\yourfile.txt";
$handle = fopen($filename, "rb");
//$little_diagrams = fread($handle, filesize($filename));
$little_diagrams = fread($handle, 3000); //<<--- as per your need
fclose($handle);
?>
Run Code Online (Sandbox Code Playgroud)
尝试上面的代码并阅读此fread 功能文档
我希望这也有助于查看示例代码Example #2 Binary fread() 示例
fread 需要两个参数
string fread ( resource $handle , int $length )
第二个是长度部分
length bytes have been read 根据文档
fread() 从 handle 引用的文件指针读取最多 length 个字节。一旦满足以下条件之一,读取就会停止:
更新如下
注意:您可以使用 file_get_contents() 将文件内容作为字符串返回。
将第二个参数从 NULL 更改为 FALSE然后尝试希望它会起作用
所以在我看来正确的代码会像下面这样试试
<?php
//however working with null also
$file_content =file_get_contents('demoTest.txt',FALSE,NULL,0,3000);
echo 'File Size: '.filesize('demoTest.txt');
echo '<br/> CONTENT HERE<br />'.$file_content;
echo '<br /><br />String Length: '.strlen($file_content);
?>
Run Code Online (Sandbox Code Playgroud)