ホームページ バックエンド開発 PHPチュートリアル fread を使用してファイルを読み取る PHP に関連する問題については、常に余分な null 文字が存在します。

fread を使用してファイルを読み取る PHP に関連する問題については、常に余分な null 文字が存在します。

Jun 13, 2016 pm 01:26 PM
filepath filesize fread

PHP が fread を使用してファイルを読み取る問題については、常に余分な null 文字が存在します。
コードは次のとおりです。

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$fileSize = filesize($filePath);
$handle = fopen($filePath, "rb");


while (!feof($handle)) {
        var_dump(fread($handle, $fileSize));
        //会多输出一次空字符
}


ログイン後にコピー



アドバイスをお願いします、ありがとう!

-----解決策---------
fread($handle, $fileSize)
ファイルにはちょうど $fileSize バイトのコンテンツが含まれており、スムーズに読み取られるため、プログラムはファイルが最後に達したことを検出しません。次に 2 番目のループが実行され、この時点でポインタは最後の位置にあり、読み取るものは何も残っていないため、システムはファイル ポインタを一番下に設定し、feof() が true を返すようにします。 PHP のオペレーティング ファイル システムと C のオペレーティング ファイル システムにはほとんど違いはありません。これに関しては、C の feof() についての非常に詳細な説明があります。
------解決策---------
実は、本題までは到達できませんでした。解決策としては、$fileSize+1 を追加するか、fread($handle, filesize ($filename)); をループせずにファイルの内容全体を読み取ることができます。
------解決策---------
trim()?
------解決策----------------------
ファイルが大きくない場合は、ファイルをすべて読み込んでください。配列の最後の配列を削除します。ファイルが大きい場合は別の方法を考えますが、これがどのような影響を与えるかはわかりません。それが本当にあなたに影響を与えているのであれば、それを取り除くのは難しくないはずです。
------解決策------------------
WINDOWS プラットフォームを使用しているため、ファイルはテキストで開く保存されたコンテンツであり、ファイルの終わりをマークする特別なバイトが最後にあります。これを rb で開くと、最後の特別なバイトを自然に読み取ることができます。 。

r で開き、fgets で読み込みます。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 警告: filesize() [function.filesize]: stat 失敗した解決策 PHP 警告: filesize() [function.filesize]: stat 失敗した解決策 Jun 22, 2023 pm 11:54 PM

PHP プロジェクトを開発していると、ファイル操作に関する問題がよく発生しますが、その 1 つが「PHPWarning: filesize()[function.filesize]:statfailed」というエラー プロンプトです。このエラーメッセージは、多くの人を混乱させ、解決策を見つけるのが難しいため、この記事では、この問題の原因と解決策を紹介し、皆様のお役に立てれば幸いです。問題の原因はPHP、ファイルサイズにあります

php+fread()が文字化けした場合の対処法 php+fread()が文字化けした場合の対処法 Jan 18, 2023 am 10:21 AM

php+fread() のコードが文字化けするのは、出力ページのエンコーディングが読み取ったファイルのエンコーディングと一致していないためです。解決策: 1. 対応する PHP ファイルを開く; 2. fread 関数を通じてファイルを読み取る; 3. 「iconv('gbk' , 'utf-8', $data)」メソッドを使用して、読み取ったコンテンツをトランスコードします。

PHPのfread()関数 PHPのfread()関数 Sep 07, 2023 pm 11:57 PM

fread() 関数は、開いているファイルからデータを読み取ります。 fread() 関数は、ファイルの終わり、または指定された長さに達すると停止します。成功すると読み取った文字列を返します。失敗した場合は FALSE を返します。構文 fread(file_pointer,length) パラメータ file_pointer - fopen() を使用して作成されたファイル システム ポインタ リソース。必須。 length:読み取る最大バイト数。必須。戻り値 成功すると、fread() 関数は読み取った文字列を返します。失敗した場合は FALSE を返します。 「one.txt」というファイルがあるとします。

golangの「unknown: filepath.Abs​​」エラーを解決するにはどうすればよいですか? golangの「unknown: filepath.Abs​​」エラーを解決するにはどうすればよいですか? Jun 24, 2023 pm 04:37 PM

golangではfilepath.Abs​​というライブラリがよく使われており、その機能は相対パスの絶対パスを取得することです。ただし、場合によっては、filepath.Abs​​ を使用するときに「未定義: filepath.Abs​​」エラーが発生することがあります。これは、ファイルパス ライブラリが正しく導入されていないか、間違った構文が記述されていることを意味します。この記事では、このエラーを解決する方法について説明します。まず、理解する必要があります

PHP関数の紹介: is_file()関数 PHP関数の紹介: is_file()関数 Nov 04, 2023 am 09:11 AM

PHP 関数の紹介: is_file() 関数 PHP プログラミングにおいて、is_file() 関数は非常に便利な関数です。これは、パスまたはファイルが存在し、通常のファイルであるかどうかを判断するために使用されます。この記事では、is_file() 関数の使用方法を紹介し、具体的なコード例をいくつか示します。まず、is_file() 関数の構文を見てみましょう: boolis_file(string$filename)is_

golangで「unknown: filepath.Glob」エラーを解決するにはどうすればよいですか? golangで「unknown: filepath.Glob」エラーを解決するにはどうすればよいですか? Jun 24, 2023 pm 04:00 PM

Go 言語は、高性能ネットワーク サービスを構築するために広く使用されている軽量プログラミング言語です。 Go アプリケーション開発では、通常、ファイル パス操作を使用する必要があります。 Go 言語では、ファイル パスの操作は、標準ライブラリが提供する filepath パッケージによってサポートされています。 filepath パッケージは、ファイル パスを操作するためのいくつかの関数と定数を提供します。これらの関数の 1 つは Glob() で、パターンに一致するファイルへのパスを検索します。ただし、Go 言語を使用している場合、「未定義」が発生する可能性があります。

PHP 関数の紹介 - fread(): 指定した長さのコンテンツをファイルから読み取る PHP 関数の紹介 - fread(): 指定した長さのコンテンツをファイルから読み取る Jul 26, 2023 pm 09:29 PM

PHP 関数の概要 - fread(): ファイルから指定された長さのコンテンツを読み取ります PHP は、Web アプリケーションの開発に広く使用されているスクリプト言語です。 PHP には、ファイルを処理するための組み込み関数が多数あり、その 1 つが fread() 関数です。 fread() 関数を使用すると、開いているファイルから指定された長さのコンテンツを読み取ることができます。構文: stringfread(resource$handle,int$length) パラメータの説明: $h

PHP関数の紹介: filesize()関数 PHP関数の紹介: filesize()関数 Nov 04, 2023 pm 02:18 PM

PHP 関数の紹介: filesize() 関数の概要: PHP 開発では、ファイル サイズ情報を取得する必要がよくあります。PHP には、この目的を達成するための便利な関数、filesize() 関数が用意されています。 filesize() 関数は、指定されたファイルのサイズを取得するために使用され、戻り値はファイルのサイズ (バイト単位) です。この記事では、filesize() 関数の使用法を詳しく紹介し、具体的なコード例を示します。使用法: filesize() 関数の使用方法

See all articles