在php中读取文本文件的前3000字节

在php中读取文本文件的前3000字节,php,Php,解决了!我使用了一个现有的json文件来显示页面上的图表 我有一个2000行的文本文件。我想将前3000个字节读入一个php变量。这是可行的,但仅以读取整个文本文件为代价: $little_diagrams = ('assets/diagrams.txt'); $mason = file($little_diagrams); 我试过了,但没用。你知道为什么吗 $little_diagrams = file_get_contents("assets/diagrams.txt", NULL, N

解决了!我使用了一个现有的json文件来显示页面上的图表

我有一个2000行的文本文件。我想将前3000个字节读入一个php变量。这是可行的,但仅以读取整个文本文件为代价:

$little_diagrams = ('assets/diagrams.txt'); $mason = file($little_diagrams);
我试过了,但没用。你知道为什么吗

$little_diagrams  = file_get_contents("assets/diagrams.txt", NULL, NULL, 0, 3000);

$mason = file($little_diagrams); 
问题是我必须处理“assets/diagrams.txt”中的行,例如: 2833 | 6979 |波罗斯科夫|尼古拉耶夫|伊戈尔| 2272 | 1n3rk1/3P1PP/5q2/2p1P3/2B2P2/r2Q2P1/1b2N2P/1R3K1R|

2832 | 6979 |波罗斯科夫|尼古拉耶夫|伊戈尔| 2272 | r2qk2r/1B1P1PP/n4b2/2pN4/2B1P3/8/PP3PP/R2QK1NR| 2831 | 6978 |尼古拉耶夫|伊戈尔| 2272 |布图林|弗拉基米尔| 2405 | r3r1k1/1ppb1pp1/3p1n1p/2nP4/p3P3/4NP2/PPBN1KPP/R3R3| 2830 | 6978 |尼古拉耶夫|伊戈尔| 2272 |布图林|弗拉基米尔| 2405 | r2qr1k1/1ppb1pp1/p1np1n1p/8/3PP3/4NN2/PPB2PPP/R2Q1RK1|

2829 | 6977 |尼古拉耶夫|伊戈尔| 2272 |塔巴塔泽|塔玛兹| 2288 | 2rqk2r/4bp1p/p1n1b3/3pP3/Pp1P2p1/1P3p2/1B2NPP/2RQNRK1|

2828 | 6976 |卢茨科|伊戈尔| 2307 |尼古拉耶夫|伊戈尔| 2272 | 6r1/1pp2p1k/p2p3p/2bP4/2P2r2/1P4NP/P2R1P1K/5R2|

新代码:(不工作,左栏底部没有显示图表)

$filename=“assets/diagrams.txt”;
$handle=fopen($filename,“r”);
$little_diagrams=fread($handle,3000)//
读取“文件”函数的“代码”

读取“文件”函数的“代码”


请将变量$mason echos定义为“无效”。我需要它作为数据文本文件打印图表。该文件是否存在于该路径?Try
可读('assets/diagrams.txt')
。还要确保你可以
file\u get\u contents()
返回
false
如果出现问题,我现在知道问题出在哪里了。只需分配
$mason=file\u get\u contents(…
。您正试图通过不是文件路径的
file()
运行文件内容字符串。这将不起作用阅读本文,请定义“它不起作用”变量$mason的回音为nothing。我需要它作为数据文本文件来打印图表。该文件是否存在于该路径中?请尝试
是否可读('assets/diagrams.txt')
。同时确保可以。
文件获取内容()
返回
false
如果出现问题,我现在知道问题出在哪里了。只需分配
$mason=file\u get\u contents(…
)即可。您正试图通过
file()
运行文件内容字符串,该字符串不是文件路径。这不起作用阅读本文,您的第一个示例很好,但您的“更新如下”部件包含与OP相同的错误;
file()
采用文件路径,而不是文件的内容file@Phil感谢您的澄清。您是对的。响应已更新。在我看来仍然不完整。它应该是
$mason=file\u get\u contents(“assets/diagrams.txt”,FALSE,NULL,0,3000);
文件()
在这里“
//这是真的;工作你是对的phil
”抱歉@phil,但是这次图像输出是附加的。你的第一个示例很好,但是你的“下面更新”部分包含与OP相同的错误;
文件()
采用文件路径,而不是文件的内容file@Phil谢谢你的澄清。你是对的。回复更新了。在我看来仍然不完整。它应该是
$mason=file\u get\u contents(“assets/diagrams.txt”,FALSE,NULL,0,3000);
。在这方面
file()
绝对没有任何用处“
//你说得对,菲尔
”抱歉@phil,但这次图像输出已附加
$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

}
<?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);
?>
<?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);
?>