テキスト ファイルのすべての行を配列に読み込んで、各行を新しい要素にしようとしています。
これまでの私のコード。
<?php
$file = fopen("members.txt", "r");
while (!feof($file)) {
$line_of_text = fgets($file);
$members = explode('\n', $line_of_text);
fclose($file);
?>
テキスト ファイルのすべての行を配列に読み込んで、各行を新しい要素にしようとしています。
これまでの私のコード。
<?php
$file = fopen("members.txt", "r");
while (!feof($file)) {
$line_of_text = fgets($file);
$members = explode('\n', $line_of_text);
fclose($file);
?>
特別な処理が必要ない場合は、これで目的の処理が実行されるはずです
$lines = file($filename, FILE_IGNORE_NEW_LINES);
私が見つけた最速の方法は次のとおりです。
// Open the file
$fp = @fopen($filename, 'r');
// Add each line to an array
if ($fp) {
$array = explode("\n", fread($fp, filesize($filename)));
}
$filename は、ファイルのパスと名前になります。../ファイル名.txt。
テキスト ファイルの設定方法によっては、\n ビットをいじる必要がある場合があります。
<?php
$file = fopen("members.txt", "r");
$members = array();
while (!feof($file)) {
$members[] = fgets($file);
}
fclose($file);
var_dump($members);
?>
それはとても簡単です:
$lines = explode("\n", file_get_contents('foo.txt'));
file_get_contents()
- ファイル全体を文字列として取得します。
explode("\n")
- 文字列を区切り文字で分割します"\n"
- 改行の ASCII-LF エスケープとは何ですか。
ただし、注意してください。ファイルの末尾がUNIX -Line であることを確認してください。
"\n"
正しく動作しない場合は、改行の別のコーディングがあり、試すことができます"\r\n"
、"\r"
または"\025"
$lines = array();
while (($line = fgets($file)) !== false)
array_push($lines, $line);
明らかに、最初にファイル ハンドルを作成し、それを に保存する必要があります$file
。
$file = __DIR__."/file1.txt";
$f = fopen($file, "r");
$array1 = array();
while ( $line = fgets($f, 1000) )
{
$nl = mb_strtolower($line,'UTF-8');
$array1[] = $nl;
}
print_r($array);
$file = file("links.txt");
print_r($file);
これにより、txt ファイルが配列として受け入れられます。したがって、このページを実行した後、links.txt ファイル (1 つの要素に対して 1 行を使用) に何かを書き込みます:) 配列は $file になります
あなたは正しい道を進んでいましたが、投稿したコードにはいくつかの問題がありました。まず、while ループの閉じ括弧がありませんでした。次に、$line_of_text はすべてのループ反復で上書きされます。これは、ループ内で = を .= に変更することで修正されます。第三に、実際の改行ではなく、リテラル文字 '\n' を分解しています。PHP では、一重引用符はリテラル文字を表しますが、二重引用符は実際にはエスケープ文字と変数を解釈します。
<?php
$file = fopen("members.txt", "r");
$i = 0;
while (!feof($file)) {
$line_of_text .= fgets($file);
}
$members = explode("\n", $line_of_text);
fclose($file);
print_r($members);
?>