Apakah perbezaan utama antara PHP_SELF, PATH_INFO, SCRIPT_NAME dan REQUEST_URI?

Patricia Arquette
Lepaskan: 2024-11-02 07:28:02
asal
809 orang telah melayarinya

What are the key differences between PHP_SELF, PATH_INFO, SCRIPT_NAME, and REQUEST_URI?

Pemahaman PHP_SELF, PATH_INFO, SCRIPT_NAME dan REQUEST_URI**

Apabila membangunkan aplikasi PHP, adalah penting untuk memahami perbezaan antara pembolehubah pelayan ini . Berikut ialah pecahan penggunaannya:

PHP_SELF

  • Biasanya menunjuk ke fail skrip semasa, mis. /index.php/faq/whatever
  • Dalam CodeIgniter, ia sentiasa index.php, kerana permintaan dihalakan ke pengawal utama.

PATH_INFO

  • Mengandungi maklumat laluan selepas nama skrip (tidak termasuk parameter pertanyaan), mis. /faq/whatever
  • Berguna untuk mengakses bahagian tertentu URI.

SCRIPT_NAME

  • Menunjuk kepada fail skrip PHP sebenar yang sedang dilaksanakan, mis. /test.php
  • Tidak seperti PHP_SELF, ia tidak termasuk sebarang maklumat laluan atau parameter pertanyaan.

REQUEST_URI

  • Mewakili URI permintaan penuh, termasuk maklumat laluan dan parameter pertanyaan, mis. /test.php?foo=bar
  • Berguna untuk menentukan URL lengkap tanpa mengakses konfigurasi pelayan.

Perbezaan Praktikal

Contoh 1: PHP_SELF lwn SCRIPT_NAME

Jika URL yang diminta adalah dalam bentuk /test.php/foo/bar:

  • PHP_SELF: /test.php/foo/bar
  • SCRIPT_NAME: /test.php

Contoh 2: REQUEST_URI lwn SCRIPT_NAME

Jika rentetan pertanyaan bukan kosong dimasukkan dalam URL:

  • SCRIPT_NAME: /test.php
  • REQUEST_URI: /test.php?foo=bar

Contoh 3: REQUEST_URI lwn SCRIPT_NAME dengan Apache Mod Rewrite

Dengan ubah hala sisi pelayan, mis., /test.php ditulis semula kepada /test2.php:

  • REQUEST_URI: / test.php
  • SCRIPT_NAME: /test2.php

Contoh 4: REQUEST_URI lwn SCRIPT_NAME dengan Pengendalian Ralat

  • Dengan Apache mod_rewrite, ralat 404 dalam /test.php mungkin mengakibatkan:

    • REQUEST_URI: /test.php
    • SCRIPT_NAME: /404error.php

Pilihan pembolehubah pelayan yang hendak digunakan bergantung pada keperluan aplikasi tertentu . Contohnya, jika anda perlu mengakses maklumat laluan tanpa parameter pertanyaan, PATH_INFO akan sesuai. Jika anda mahukan URI permintaan penuh, REQUEST_URI menyediakan maklumat ini.

Atas ialah kandungan terperinci Apakah perbezaan utama antara PHP_SELF, PATH_INFO, SCRIPT_NAME dan REQUEST_URI?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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 terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!