Saya mencoba membaca setiap baris file teks ke dalam array dan memiliki setiap baris dalam elemen baru.
Kode saya sejauh ini.
<?php
$file = fopen("members.txt", "r");
$i = 0;
while (!feof($file)) {
$line_of_text = fgets($file);
$members = explode('\n', $line_of_text);
fclose($file);
?>
php
arrays
text-files
fgets
Dan
sumber
sumber
'\n\'
tidak akan meledak sementara itu harus a"\n"
agar diurai sebagai urutan pelarian.Jawaban:
Jika Anda tidak memerlukan pemrosesan khusus, ini akan melakukan apa yang Anda cari
sumber
file()
tampaknya jauh lebih lambat daripadafile_get_contents
+explode
untuk menyusunCara tercepat yang saya temukan adalah:
di mana $ filename akan menjadi jalur & nama file Anda, mis. ../filename.txt.
Tergantung bagaimana Anda mengatur file teks Anda, Anda mungkin harus bermain-main dengan \ n bit.
sumber
Gunakan saja ini:
sumber
FILE_IGNORE_NEW_LINES
hindari untuk menambahkan baris baru di akhir setiap elemen arrayAnda juga dapat menggunakan
FILE_SKIP_EMPTY_LINES
untuk Melewati baris kosongreferensi di sini
sumber
sumber
Jelas, Anda harus membuat pegangan file terlebih dahulu dan menyimpannya di
$file
.sumber
Semudah itu:
file_get_contents()
- mendapatkan seluruh file sebagai string.explode("\n")
- akan memisahkan string dengan pembatas"\n"
- apa itu ASCII-LF escape untuk baris baru.Tetapi perhatikan - periksa apakah file tersebut memiliki akhiran UNIX -Line.
jika
"\n"
tidak akan bekerja dengan baik Anda memiliki pengkodean2 baris baru dan Anda dapat mencoba"\r\n"
,"\r"
atau"\025"
sumber
sumber
Anda berada di jalur yang benar, tetapi ada beberapa masalah dengan kode yang Anda posting. Pertama-tama, tidak ada tanda kurung tutup untuk loop sementara. Kedua, $ line_of_text akan ditimpa dengan setiap iterasi loop, yang diperbaiki dengan mengubah = menjadi a. = Dalam loop. Ketiga, Anda meledakkan karakter literal '\ n' dan bukan baris baru yang sebenarnya; di PHP, tanda kutip tunggal akan menunjukkan karakter literal, tetapi tanda kutip ganda sebenarnya akan menafsirkan karakter dan variabel yang lolos.
sumber
Ini akan menerima file txt sebagai array. Jadi tulis apa saja ke file links.txt (gunakan satu baris untuk satu elemen) setelah itu, jalankan halaman ini :) array Anda akan menjadi $ file
sumber
Ini telah dibahas di sini dengan cukup baik, tetapi jika Anda BENAR - BENAR membutuhkan kinerja yang lebih baik daripada apa pun yang tercantum di sini, Anda dapat menggunakan pendekatan yang menggunakan ini
strtok
.Catatan, ini mengasumsikan file Anda disimpan
\n
sebagai karakter baris baru (Anda dapat memperbaruinya sesuai kebutuhan), dan juga menyimpan kata / nama / baris sebagai kunci array dan bukan nilainya, sehingga Anda dapat menggunakannya sebagai tabel lookup, memungkinkan penggunaanisset
(jauh, lebih cepat), daripadain_array
.sumber