Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengepala PHP XML

Pengepala PHP XML

WBOY
WBOYasal
2024-08-29 13:00:52699semak imbas

Pengepala XML PHP ialah output jenis kandungan XML daripada fail PHP dan bukannya kandungan pengepala lalai teks/html. Menetapkan jenis kandungan pengepala kepada XML menunjukkan bahawa output kepada penyemak imbas adalah dalam format XML. XML adalah singkatan dari Extensible Markup Language, yang menandakan peraturan untuk pengekodan dokumen. PHP sebagai bahasa pengaturcaraan sumber terbuka, digunakan untuk menetapkan kandungan web dan aplikasi secara dinamik di hujung pelayan. Sama seperti cara kandungan HTML Dinamik dijana dalam PHP, kandungan XML dinamik juga boleh dijana dalam PHP.

IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks

Diberikan di bawah ialah sintaks pengepala XML PHP:

<?php header('Content-Type: text/xml'); ?>

Di atas ialah sintaks asas jenis Kandungan yang akan ditukar kepada XML apabila menggunakan pengepala PHP XML.

header(header, replace, http_response_code)

Fungsi Pengepala asas menghantar pengepala HTTP mentah kepada klien; ia dipanggil sebelum output dihantar.

Hujah:

  • pengepala: Ia menyatakan rentetan pengepala yang akan dihantar dan merupakan parameter wajib.
  • ganti: Ia menunjukkan sama ada pengepala harus menggantikan pengepala sebelumnya atau menambah pengepala baharu daripada jenis yang sama. Ia adalah parameter pilihan, dan lalainya adalah TRUE, iaitu akan menggantikan. Boolean FALSE membenarkan berbilang pengepala dengan jenis yang sama.
  • http_response_code: Ia memaksa kod respons HTTP kepada nilai tertentu dan merupakan parameter pilihan.
<?php
header ("Content-Type:text/xml");
?>
<xml_content>
…………………………
</xml_content>

Dalam PHP, tiada output boleh berlaku sebelum kejadian pengepala() dihantar ke penyemak imbas. Pengepala Jenis Kandungan memberitahu pelayar tentang cara mengendalikan kandungan. Contohnya, Jika terdapat fail PDF yang tidak dapat disokong oleh penyemak imbas, ia akan memberi pilihan untuk menggunakan aplikasi lain. Ia akan memberitahu untuk menggunakan aplikasi lain pada sistem kami atau akan meminta untuk memuat turun aplikasi tertentu.

Jika jenis Kandungan ialah teks/xml, tiada set aksara ditentukan kerana fail dianggap sebagai us-ascii. Untuk set aksara yang berbeza, ia perlu dinyatakan dalam pengepala. Untuk penggunaan XML dalam PHP, jenis Kandungan ditentukan sebagai 'aplikasi/xml' dan set aksara menjadi 'utf-8'. Pengepala jenis kandungan ialah sebahagian daripada protokol HTTP dan memberitahu klien atau pelayan jenis data yang diharapkan dan cara mentafsirnya.

Contoh pengepala XML PHP

Contoh yang berbeza dinyatakan di bawah:

Contoh #1

Kod:

<!DOCTYPE html>
<html>
<body>
<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>";
echo "<note>";
echo "Hello, this is first PHP XML header";
echo "\n";
echo "<message>Run the code to see the output</message>";
echo "</note>";
?>
</body>
</html>

Output:

Pengepala PHP XML

Di sini jenis kandungan ialah pengepala kini dalam format XML.

XML disokong oleh pelbagai jenis pengguna web dan alatan XML yang neutral peranti, neutral vendor dan neutral platform.

Content-type: text/xml; charset="utf-8"
<?xml version="1.0" encoding="utf-8"?>

Di atas ialah nilai charset yang disyorkan untuk digunakan dengan teks/xml. Pemproses MIME dan xml menganggap entiti sebagai UTF-8 disertakan. Jika dalam kes di mana data dihantar menggunakan permintaan SMTP, xml perlu menggunakan pengekodan pemindahan kandungan atau pengekodan base64. Untuk jenis permintaan lain seperti ESMTP, NNTP, HTTP, dll., pengekodan pemindahan kandungan tidak diperlukan.

Content-type: text/xml; charset="utf-16"
{BOM}<?xml version='1.0' encoding='utf-16'?>

set aksara utf-16 hanya digunakan apabila xml dihantar melalui HTTP dengan protokol bersih binari tanpa melakukan sebarang transformasi CR dan LF. Oleh kerana HTTP ialah protokol binari, pengekodan pemindahan kandungan tidak diperlukan di sini.

Content-type: text/xml
{BOM}<?xml version="1.0" encoding="utf-16"?>

Di sini parameter charset telah ditinggalkan. Dalam kes sedemikian, pemproses xml oleh itu menganggap charset sebagai 'us-ascii'. Lalai ini berlaku untuk teks/xml diangkut menggunakan permintaan HTTP.

Tetapi, peninggalan charset tidak disyorkan sama sekali untuk pengepala teks/xml.

Content-type: application/xml; charset="utf-16"
{BOM}<?xml version="1.0"?>

Adalah disyorkan untuk digunakan dengan jenis kandungan pengepala sebagai aplikasi/xml. Memandangkan set aksara disediakan di sini, pemproses xml menganggap entiti sebagai dikodkan utf-16.

Content-type: application/xml
<?xml version='1.0'?>

Di sini, tiada parameter BOM mahupun parameter charset. XML, yang tidak mengetahui tentang pemproses, tidak seharusnya membuat sebarang andaian tentang set charset entiti XML.

Contoh #2

Kod:

<!DOCTYPE html>
<html>
<body>
<?php
header("Content-type: application/xml");
$arr =[
"empName" => "Karthik",
"empid" => 675,
"role" => "UI developer",
"age" => 25,
"city" => "Vizag"
];
echo json_encode($arr);
?>
</body>
</html>

Output:

Pengepala PHP XML

Contoh #3

Kod:

<!DOCTYPE html>
<html>
<body>
<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>";
$data = [1,2,3,4,5,6,7,8,9];
echo json_encode($data);
?>
</body>
</html>

Output:

Pengepala PHP XML

Kesimpulan

Dengan ini, kami menyimpulkan topik kami 'pengepala XML PHP'. Kami telah melihat apa itu pengepala XML PHP; menukar jenis kandungan kepada XML membawa banyak perbezaan untuk http request-response. Kami telah menganalisis sintaks untuk mengisytiharkan pengepala xml dalam kod PHP. Charset adalah salah satu bahagian penting PHP yang menerangkan bentuk data yang dihantar. Saya melihat pelbagai set aksara seperti utf-8 dan utf-16, set aksara us-ascii lalai. Juga melihat cara pengepala php xml berfungsi dengan beberapa contoh yang disenaraikan di atas.

Atas ialah kandungan terperinci Pengepala PHP XML. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP XML kepada JSONArtikel seterusnya:PHP XML kepada JSON