Menggantikan Baris Tertentu dalam Fail Teks Menggunakan PHP
Perlu mengedit fail teks dan sifar masuk pada baris tertentu yang mengandungi sesuatu perkataan? Mari selami dunia PHP dan terokai dua teknik untuk menggantikan baris itu dengan mudah.
Kaedah 1: Penggantian Talian Dalam Memori
Untuk fail yang lebih kecil yang boleh selesa disimpan dalam ingatan, anda boleh menggunakan pendekatan berikut:
$data = file('myfile'); // Reads an array of lines function replace_a_line($data) { if (stristr($data, 'certain word')) { return "replacement line!\n"; } return $data; } $data = array_map('replace_a_line', $data); file_put_contents('myfile', $data);
Kaedah 2: Penggantian Talian Intensif Memori yang Kurang
Untuk fail yang lebih besar, cuba kaedah yang lebih menjimatkan memori ini:
$reading = fopen('myfile', 'r'); $writing = fopen('myfile.tmp', 'w'); $replaced = false; while (!feof($reading)) { $line = fgets($reading); if (stristr($line,'certain word')) { $line = "replacement line!\n"; $replaced = true; } fputs($writing, $line); } fclose($reading); fclose($writing); // Don't overwrite if nothing replaced if ($replaced) { rename('myfile.tmp', 'myfile'); } else { unlink('myfile.tmp'); }
Begitulah! Pilihan pendekatan bergantung pada saiz fail anda dan kekangan ingatan anda. Ingat, untuk fail yang besar, kaedah kedua adalah sekutu anda, manakala kaedah pertama unggul dengan fail yang lebih kecil.
Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Baris Tertentu dalam Fail Teks Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!