Seperti kita ketahui untuk membuat baris baru pada HTML kita menggunakan tag <br>, namun bagaimana jika kita ingin membuat baris baru pada teks/tulisan yang kita simpan dalam bentuk file? tentu saja untuk kondisi ini kita tidak bisa menggunakan <br>, karena <br> hanya bisa diterjemahkan oleh browser, adapun solusinya adalah menggunakan:
- Special character
n
yang biasa digunakan pada unix dan mac os - Special character
rn
yang biasa digunakan pada windows - Special character
r
yang biasa digunakan pada unix dan mac os - Built in PHP Constant
PHP_EOL
Constant diatas akan otomatis memilik karakter line break yang akan digunakan (n atau rn) sesuai sistem operasi yang digunakan oleh server - Enter
mari kita bahas lebih lanjut penggunaan tanda diatas. Misal kita akan membuat file baris_baru.log dengan script PHP yang jalankan di server yang menggunakan sistem operasi linux:
<?php
$handle = fopen('baris_baru.log', 'w');
$str = 'Contoh membuat baris baru pada php untuk disimpan kedalam file:
1. Baris ini menggunakan n' . "n" . ' untuk membuat baris baru
2. Baris ini menggunakan r' . "r" . ' untuk membuat baris baru
3. Baris ini menggunakan rn' . "rn" . ' untuk membuat baris baru
4. Baris ini menggunakan built in constant PHP_EOL' . PHP_EOL . ' untuk membuat baris baru
5. Keempat contoh diatas terdapat tanda Enter';
fwrite ($handle, $str);
fclose ($handle);
ketika kita buka file baris_baru.log di windows menggunakan notepad, maka akan tampak seperti gambar berikut:
pada gambar diatas terlihat bahwa hanya yang menggunakan rn
yang menghasilkan baris baru, sedangkan lainnya tidak.
Jika kita buka file tersebut di sistem operasi linux (Ubuntu) maka akan tampak seperti gambar berikut:
pada gambar diatas terlihat bahwa semua karakter menghasilkan baris baru. Selanjutnya mari kita anggap file baris_baru.log sebagai file csv, rename file menjadi baris_baru.csv, selanjutnya jika file tersebut kita buka di Microsoft Excel, maka akan tampak seperti gambar berikut:
dari gambar diatas terlihat bahwa semua karakter menghasilkan baris baru, yang berarti bahwa semua karakter dapat digunakan untuk membuat file .csv
Dari semua contoh diatas, dapat disimpukan bahwa:
- Di text editor tertentu seperti notepad, karakter
n
tidak menghasilkan baris baru sehingga untuk membuat file yang sekiranya akan dibuka di notepad (misal file log), gunakanrn
sehingga akan tampak bagus baik di windows maupun di platform lain. - Sebaiknya konsisten menggunakan salah satu karakter yaitu
n
ataurn
jika file yang dihasilkan tidak akan dibuka di notepad, misal file csv yang akan dibuka di Excel, penggunaan satu karakter tertentu secara konsisten akan memudahkan pekerjaan kita, misal ketika akan memecah teks menjadi baris, contoh:<?php $str = file_get_contents('baris_baru.log'); $split = explode("n", $str); echo '<pre>'; print_r ($split); echo '<pre>'; /** Array ( [0] => Contoh membuat baris baru pada php untuk disimpan kedalam file: [1] => 1. Baris ini menggunakan n [2] => untuk membuat baris baru [3] => 2. Baris ini menggunakan r untuk membuat baris baru [4] => 3. Baris ini menggunakan rn [5] => untuk membuat baris baru [6] => 4. Baris ini menggunakan built in constant PHP_EOL [7] => untuk membuat baris baru [8] => 5. Keempat contoh diatas terdapat tanda Enter ) */
perhatikan baris 12 dan 13, terlihat bahwa penggunaan
n
akan menghasilkan element array baru. Pada contoh diatas baris 16 dan 18 juga terbentuk elemen array baru karena keduanya mengandung karakter n (PHP_EOL menghasilkanrn
) - Constan
PHP_EOL
akan menghasilkan karakter berubah ubah sesuai dengan sistem operasi yang digunakan oleh server, sehingga sebaiknya hanya menggunakan constantPHP_EOL
jika yakin bahwa file yang dihasilkan tidak digunakan lintas platform, karena disamping terjadi ketidak konsistenan karakter yang digunakan juga akan menyulitkan ketika akan memecah teks. Melanjutkan contoh sebelumnya, kita gantin
menjadiPHP_EOL
:<?php $str = file_get_contents('baris_baru.log'); $split = explode(PHP_EOL, $str); echo '<pre>'; print_r ($split); echo '<pre>'; /** Array ( [0] => Contoh membuat baris baru pada php untuk disimpan kedalam file: [1] => 1. Baris ini menggunakan n untuk membuat baris baru [2] => 2. Baris ini menggunakan r untuk membuat baris baru [3] => 3. Baris ini menggunakan rn [4] => untuk membuat baris baru [5] => 4. Baris ini menggunakan built in constant PHP_EOL untuk membuat baris baru [6] => 5. Keempat contoh diatas terdapat tanda Enter ) */
perhatikan baris 17 dan 18, terlihat bahwa hanya karakter
rn
yang akan menghasilkan element array baru, karena scriptexplode
dijalankan di server Windows, sehinggaPHP_EOL
diterjemahkan menjadirn
sedangkan kita membuat file baris_baru.txt di linux dimanaPHP_EOL
diterjemahkan sebagain
. - Enter dapat menghasilkan baris baru di semua platform, namun hal tersebut tidak memungkinkan jika teks dibuat secara dinamis, selain itu juga akan menyulitkan jika ingin melakukan pemecahan teks, seperti pada contoh contoh sebelumnya.
Kesimpulan
Untuk membuat baris baru, terdapat perbedaan karakter yang digunakan yang disebabkan adanya perbedaan sistem operasi yang digunakan oleh server, sehingga pada kondisi tertentu, seperti pemecahan teks (menggunakan fungsi explode
) akan sulit dilakukan. Untuk mengatasi hal tersebut sebaiknya konsisten menggunakan karakter tertentu yaitu rn yang kompatibel dengan semua platform dan mayoritas text editor atau n namun dengan kelemahan tidak dapat membuat baris baru jika dibuka dengan notepad.
Demikian sedikit pembahasan mengenai membuat baris baru lintas platform dengan PHP, semoga bermanfaat.
Subscibe Now
Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com