3

phpの最後のxバイトなしでファイルを読みたいのですが、まさに次のようになります。

$size = filesize($filename) - $x;
$handle = fopen($filename, "rb");
$contents = fread($handle, $size);
fclose($handle);

私のアプリケーションでは、このコードを頻繁に使用します。

これは機能しますが、毎回(filesize、fopen、fclose)を使用する代わりに、これをより簡単かつ柔軟に行うことは可能ですか?

助けることができfile_get_contents()ますか?もしそうなら、私はそれをどのように使用しますか?

4

2 に答える 2

6

たとえば(非常に単純な解決策)

$contents = substr(file_get_contents($filename), 0, -$x);

最後のバイト/文字を削除するだけです。

于 2012-08-11T23:29:57.233 に答える
2

それはで動作しfile_get_contents()ます:

$contents = file_get_contents($filename, false, null, 0, filesize($filename) - $x);
于 2012-08-11T23:31:09.673 に答える