PHP FAQ: Dapatkah Anda berbagi contoh PHP Base64 encode dan decodefungsi?
Setiap sekali-sekali ketika Anda bekerja pada sebuah aplikasi web Anda akan lari ke data yang dapat menyebabkan Anda beberapa masalah, dan ketika itu terjadi, PHP
base64_encode
fungsi dapat datang untuk menyelamatkan Anda. Berikut adalah cepat melihat masalah aku berlari ke kemarin menggunakan CakePHP, dan bagaimana PHP base64_encode
dan base64_decode
fungsi membantu saya menyandikan URL (URI) dan jaminan saya keluar dari keadaan saya.Saya URL PHP masalah (URI)
Koreksi : Meskipun artikel ini menunjukkan bagaimana benar memanggil PHP Base64 encode dan decode fungsi, premis dasar menghapus "/" karakter dari URL, seperti yang dibahas selanjutnya, tidak benar. Algoritma encode PHP base64 bisa kembali string dengan karakter dalam string yang "/". Silakan lihat bagian Komentar di bawah ini untuk koreksi untuk masalah ini.
Saya bekerja pada sebuah aplikasi web CakePHP kemarin ketika aku berlari ke masalah yang tidak biasa: saya menampilkan data dalam tabel di halaman indeks, dan saya ingin mengubah salah satu kolom teks ke hyperlink ke halaman rinci. Tapi ketika aku pergi untuk membuat kolom hyperlink, aku sadar bahwa aku tidak memiliki sesuatu seperti
id
bidang saya bisa digunakan sebagai parameter untuk saya panggilan CakePHP kontroler.
Bahkan, karena data di tangan, satu-satunya hal yang saya punya adalah string - dan bahwa string terjadi menjadi URI (yaitu, sesuatu seperti / foo / bar / baz ). Seperti yang Anda duga dengan melihat itu, mencoba untuk melewati sebuah URI string mentah ke controller (dengan karakter di dalamnya seperti karakter maju-slash ( "/")) akan didorong CakePHP kacang.
Aku tahu aku tidak bisa mengubah data, dan aku tahu aku harus lulus bahwa URI string untuk controller CakePHP, ketika saya teringat teman saya, PHP
base64_encode
fungsi, dan encode URL PHP teknik.PHP URL encoding - base64_encode untuk menyelamatkan
Singkatnya, PHP teknik URL encode melibatkan encoding URL (atau URI) sebelum mengirimkan dalam bentuk HTML, dan kemudian decoding URL setelah itu telah diterima oleh kontroler apa pun yang Anda mengirimkan formulir Anda untuk.
Dalam kasus masalah CakePHP saya, saya menggunakan PHP
base64_encode
fungsi dalam tampilan halaman CakePHP saya, dan dikodekan URI saya string seperti yang ditunjukkan pada potongan kode CakePHP ini:<Td> <? Php echo $ html-> tautan ($ logfileRecord [ 'LogfileRecord'] [ 'uri'], array ( 'pengendali' => 'website_nodes', 'Action' => 'uri_details', base64_encode ($ logfileRecord [ 'LogfileRecord'] [ 'uri']))); ?> </ Td>
Seperti yang Anda lihat dalam contoh itu, saya encode URL saya / URI string dengan PHP
base64_encode
fungsi sebelum melewati string untuk saya metode CakePHP controller ( uri_details
).PHP base64_decode di controller
Tentu saja itu hanya setengah dari solusi. Jika Anda menyandikan string pada salah satu ujung (pandangan), Anda harus memecahkan kode itu di ujung (controller), dan di situlah PHP
base64_decode
fungsi datang dalam.
Sekali lagi, ini sangat sederhana. Hanya menggunakan PHP
base64_decode
fungsi di controller untuk mengkonversi string disandikan kembali ke konten aslinya dengan base64_decode
fungsi, seperti ini:// decode uri kembali ke bentuk aslinya $ S = base64_decode ($ s);
Itu semua ada untuk itu, masalah diselesaikan.
TERIMA KASIH..
TERIMA KASIH..
EmoticonEmoticon