Pada artikel ini, kita akan melihat cara mendapatkan nama file dari path di PHP, beserta pemahaman implementasinya melalui contoh. Kami telah memberikan jalur lengkap & kami perlu menemukan nama file dari jalur file. Untuk ini, kami akan mengikuti 2 metode di bawah ini
- Menggunakan fungsi nama dasar()
- Menggunakan fungsi pathinfo()
Memasukkan. path = /testweb/var/www/mywebsite/htdocs/home. php
Keluaran. rumah. phpMemasukkan. path = /testweb/var/www/mywebsite/htdocs/abc. txt
Keluaran. abc. txt
Kami akan memahami kedua fungsi dengan bantuan contoh
Metode 1. Menggunakan fungsi namanama()
Fungsi basename() adalah fungsi inbuilt yang mengembalikan nama dasar file jika jalur file disediakan sebagai parameter ke fungsi basename().
Sintaksis
$filename = basename(path, suffix);Jalur adalah bidang wajib yang menentukan jalur yang akan diperiksa. Akhiran adalah bidang opsional yang menentukan ekstensi file. Jika nama file memiliki ekstensi file ini, ekstensi file tidak akan ditampilkan
Contoh. Contoh ini menjelaskan penggunaan fungsi basename() yang mengembalikan nama dasar file
PHP
<?php
$path ="/testweb/var/www/mywebsite/htdocs/home.php";
home.php home_0
home.php home2 =home.php home4home.php home5$pathhome.php home7
home.php home9 =home.php home4home.php home5$path$filename = pathinfo(path);4$filename = pathinfo(path);5home.php home7
home.php home_0
$filename = pathinfo(path);_9
test.php1 home.php home2 test.php3test.php4;
home.php home_0
test.php8
test.php1 home.php home9;
<?php_3
Keluaran
home.php home_Metode 2. Menggunakan fungsi pathinfo()
Pathinfo() adalah fungsi bawaan yang digunakan untuk mengembalikan informasi tentang jalur menggunakan array asosiatif atau string yaitu. , Ini akan membuat larik dengan bagian-bagian jalur yang ingin kita gunakan
Sintaksis
$filename = pathinfo(path);_Contoh. Contoh ini menjelaskan fungsi pathinfo() yang akan mengembalikan informasi tentang sebuah path. Di sini, kita akan menggunakan $filename[‘basename’], ketika kita ingin mengakses nama file
❮ Referensi Sistem File PHPContoh
Kembalikan nama file dari jalur yang ditentukan
$path = "/testweb/home. php";
//Tampilkan nama file
gema nama dasar($path). "
";
//Tampilkan nama file, tetapi potong ekstensi file untuk ". php".
gema nama dasar($path,". php");
?>
Output dari kode di atas akan menjadi
Definisi dan Penggunaan
Fungsi basename() mengembalikan nama file dari jalur
Sintaksis
Nilai Parameter
ParameterDescriptionpathDiperlukan. Menentukan file pathsuffixOptional. Ekstensi file. Jika nama file memiliki ekstensi file ini, ekstensi file akan terpotongDetail Teknis
Nilai Pengembalian. Nama file dari PathPHP Version yang ditentukan. 4. 0+❮ Referensi Sistem File PHPSelamat datang di tutorial singkat tentang cara mendapatkan URL lengkap dan bagian URL di PHP. Perlu mendapatkan jalur, basis, domain, atau string kueri dari URL? . Tapi sayangnya di PHP, semuanya sedikit… terbelakang
- Untuk mendapatkan URL lengkap dalam PHP – $full = (isset($_SERVER["HTTPS"]) ? "//" : "//") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
- Untuk menghapus string kueri dari URL lengkap – $full = strtok($full, "?");
Itu harus mencakup dasar-dasarnya, tetapi jika Anda memerlukan “bagian URL” yang lebih spesifik – Baca terus untuk contoh lainnya
ⓘ Saya telah menyertakan file zip dengan semua kode sumber contoh di awal tutorial ini, jadi Anda tidak perlu menyalin-tempel semuanya… Atau jika Anda hanya ingin langsung masuk
TLDR – SLIDE CEPAT
Unduh & Catatan
UNDUH & CATATAN
Pertama, berikut adalah tautan unduhan ke kode contoh seperti yang dijanjikan
CATATAN CEPAT
Jika Anda menemukan bug, jangan ragu untuk berkomentar di bawah ini. Saya mencoba menjawab pertanyaan singkat juga, tetapi itu adalah satu orang versus seluruh dunia… Jika Anda sangat membutuhkan jawaban, silakan periksa daftar situs web saya untuk mendapatkan bantuan dalam pemrograman
DOWNLOAD KODE CONTOH
Klik di sini untuk mengunduh kode contoh, saya telah merilisnya di bawah lisensi MIT, jadi silakan membangun di atasnya atau menggunakannya dalam proyek Anda sendiri
DASAR-DASAR URL
Baiklah, mari kita mulai dengan beberapa bagian dasar URL yang “membosankan”. Yap, hal ini penting jika Anda baru
BERBAGAI BAGIAN URL
Sekarang setelah Anda mengetahui bagian-bagian individual dari sebuah URL, sekarang mari kita telusuri cara mendapatkan URL lengkap dan “bagian-bagian umum” menggunakan PHP
1) BAGIAN URL DALAM PHP
1-url-bagian. php
<?php // (A) PROTOCOL echo isset($_SERVER["HTTPS"]) ? "//" : "//"; // (B) HOST echo $_SERVER["HTTP_HOST"]; // (C) PORT echo $_SERVER["SERVER_PORT"]; // (D) PATH + FILE + QUERY echo $_SERVER["REQUEST_URI"]; // (E) QUERY echo $_SERVER["QUERY_STRING"]; print_r($_GET);Semua bagian URL dapat diperoleh dari variabel $_SERVER di PHP
VariableURL Bagian & Contoh<?php // (A) GETFULLURL() : GETS THE FULL URL // $QUERY - INCLUDE QUERY STRING? function getFullURL ($query=false) { // (A1) THE PROTOCOL $url = (isset($_SERVER["HTTPS"]) ? "//" : "//"); // (A2) HOST $url .= $_SERVER["HTTP_HOST"]; // (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) { $url .= ":" . $_SERVER["SERVER_PORT"]; } // (A4) THE PATH, FILE NAME, AND QUERY $url .= $_SERVER["REQUEST_URI"]; // (A5) INCLUDE QUERY STRING? if ($query===false) { $url = strtok($url, "?"); } // (A6) THE FULL URL return $url; } // (B) GET CURRENT URL echo getFullURL(true); // WITH QUERY echo getFullURL(); // WITHOUT QUERY0Ini benar jika HTTPS digunakanhttps. // situs. com. 443/jalur/berkas. php?p=123<?php // (A) GETFULLURL() : GETS THE FULL URL // $QUERY - INCLUDE QUERY STRING? function getFullURL ($query=false) { // (A1) THE PROTOCOL $url = (isset($_SERVER["HTTPS"]) ? "//" : "//"); // (A2) HOST $url .= $_SERVER["HTTP_HOST"]; // (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) { $url .= ":" . $_SERVER["SERVER_PORT"]; } // (A4) THE PATH, FILE NAME, AND QUERY $url .= $_SERVER["REQUEST_URI"]; // (A5) INCLUDE QUERY STRING? if ($query===false) { $url = strtok($url, "?"); } // (A6) THE FULL URL return $url; } // (B) GET CURRENT URL echo getFullURL(true); // WITH QUERY echo getFullURL(); // WITHOUT QUERY1Nama Host.
https. // situs. com . 443/jalur/berkas. php?p=123<?php // (A) GETFULLURL() : GETS THE FULL URL // $QUERY - INCLUDE QUERY STRING? function getFullURL ($query=false) { // (A1) THE PROTOCOL $url = (isset($_SERVER["HTTPS"]) ? "//" : "//"); // (A2) HOST $url .= $_SERVER["HTTP_HOST"]; // (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) { $url .= ":" . $_SERVER["SERVER_PORT"]; } // (A4) THE PATH, FILE NAME, AND QUERY $url .= $_SERVER["REQUEST_URI"]; // (A5) INCLUDE QUERY STRING? if ($query===false) { $url = strtok($url, "?"); } // (A6) THE FULL URL return $url; } // (B) GET CURRENT URL echo getFullURL(true); // WITH QUERY echo getFullURL(); // WITHOUT QUERY2Nomor Pelabuhan.
https. //lokasi. com. 443 /path/path/file. php?p=123<?php // (A) GETFULLURL() : GETS THE FULL URL // $QUERY - INCLUDE QUERY STRING? function getFullURL ($query=false) { // (A1) THE PROTOCOL $url = (isset($_SERVER["HTTPS"]) ? "//" : "//"); // (A2) HOST $url .= $_SERVER["HTTP_HOST"]; // (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) { $url .= ":" . $_SERVER["SERVER_PORT"]; } // (A4) THE PATH, FILE NAME, AND QUERY $url .= $_SERVER["REQUEST_URI"]; // (A5) INCLUDE QUERY STRING? if ($query===false) { $url = strtok($url, "?"); } // (A6) THE FULL URL return $url; } // (B) GET CURRENT URL echo getFullURL(true); // WITH QUERY echo getFullURL(); // WITHOUT QUERY3Jalur, file, dan kueri.
https. //lokasi. com. 443 /jalur/berkas. php?p=123 <?php // (A) GETFULLURL() : GETS THE FULL URL // $QUERY - INCLUDE QUERY STRING? function getFullURL ($query=false) { // (A1) THE PROTOCOL $url = (isset($_SERVER["HTTPS"]) ? "//" : "//"); // (A2) HOST $url .= $_SERVER["HTTP_HOST"]; // (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) { $url .= ":" . $_SERVER["SERVER_PORT"]; } // (A4) THE PATH, FILE NAME, AND QUERY $url .= $_SERVER["REQUEST_URI"]; // (A5) INCLUDE QUERY STRING? if ($query===false) { $url = strtok($url, "?"); } // (A6) THE FULL URL return $url; } // (B) GET CURRENT URL echo getFullURL(true); // WITH QUERY echo getFullURL(); // WITHOUT QUERY4String Kueri saja.
https. //lokasi. com. 443/jalur/berkas. php ?p=123
2) MENDAPATKAN URL LENGKAP
2-url-lengkap. php
<?php // (A) GETFULLURL() : GETS THE FULL URL // $QUERY - INCLUDE QUERY STRING? function getFullURL ($query=false) { // (A1) THE PROTOCOL $url = (isset($_SERVER["HTTPS"]) ? "//" : "//"); // (A2) HOST $url .= $_SERVER["HTTP_HOST"]; // (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) { $url .= ":" . $_SERVER["SERVER_PORT"]; } // (A4) THE PATH, FILE NAME, AND QUERY $url .= $_SERVER["REQUEST_URI"]; // (A5) INCLUDE QUERY STRING? if ($query===false) { $url = strtok($url, "?"); } // (A6) THE FULL URL return $url; } // (B) GET CURRENT URL echo getFullURL(true); // WITH QUERY echo getFullURL(); // WITHOUT QUERYIni adalah "versi yang diperluas" dari cuplikan pengantar, dikemas ke dalam fungsi untuk kenyamanan Anda
3) BAGIAN URL UMUM
Adapun "bagian lainnya" yang tidak termasuk dalam $_SERVER, kita perlu melakukan beberapa campuran dan pencocokan sendiri. Berikut adalah beberapa yang umum
PROTOKOL dan HOST
3-bagian. php
// (A) PROTOCOL + DOMAIN $host = isset($_SERVER["HTTPS"]) ? "//" : "//" . $_SERVER["HTTP_HOST"] ; echo $host;https. //lokasi. com /path/file. php?p=123
HANYA JALAN
3-bagian. php
// (B) PATH ONLY $path = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH); echo $path;https. //lokasi. com/ jalur /file. php?p=123
NAMA FILE SAJA
3-bagian. php
// (C) FILENAME ONLY // USE BASENAME() TO GET THE FILE + STRIP QUERY STRING $file = basename($_SERVER["REQUEST_URI"], "?". $_SERVER["QUERY_STRING"]); echo $file;https. //lokasi. com/path/ file. php ?p=123
JALAN DENGAN NAMA FILE
3-bagian. php
// (D) PATH + FILENAME $filepath = strtok($_SERVER["REQUEST_URI"], "?"); echo $filepath;https. //lokasi. com /path/file. php ?p=123
EKSTRA) PARSE URL
4-urai. php
<?php $url = "//site.com/path/file.php#section"; $parts = parse_url($url); print_r($hash);Untuk kalian yang memiliki string URL dari suatu tempat – Anda dapat menggunakan fungsi <?php // (A) GETFULLURL() : GETS THE FULL URL // $QUERY - INCLUDE QUERY STRING? function getFullURL ($query=false) { // (A1) THE PROTOCOL $url = (isset($_SERVER["HTTPS"]) ? "//" : "//"); // (A2) HOST $url .= $_SERVER["HTTP_HOST"]; // (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) { $url .= ":" . $_SERVER["SERVER_PORT"]; } // (A4) THE PATH, FILE NAME, AND QUERY $url .= $_SERVER["REQUEST_URI"]; // (A5) INCLUDE QUERY STRING? if ($query===false) { $url = strtok($url, "?"); } // (A6) THE FULL URL return $url; } // (B) GET CURRENT URL echo getFullURL(true); // WITH QUERY echo getFullURL(); // WITHOUT QUERY6 untuk mendapatkan semua bagian dengan cepat
BIT & LINK EKSTRA
Itu saja untuk tutorialnya, dan ini adalah bagian kecil tentang beberapa tambahan dan tautan yang mungkin berguna bagi Anda
BAGAIMANA DENGAN HASHNYA?
Ingin mendapatkan bagian hash dari URL? . //lokasi. com/path/file. php #bagian . Sayangnya, itu tidak dapat ditemukan di $_SERVER. Taruhan terbaik Anda adalah menggunakan Javascript sebagai gantinya.
LINK dan REFERENSI
- Dapatkan Bagian URL Dengan Javascript – Code Boxx
- $_SERVER Superglobal – PHP
- Parsing URL – PHP
LEMBAR CHEAT INFOGRAFIS
Terima kasih telah membaca, dan kami telah sampai pada akhir. Saya harap ini membantu Anda untuk lebih memahami, dan jika Anda ingin berbagi sesuatu dengan panduan ini, jangan ragu untuk berkomentar di bawah ini. Semoga berhasil dan selamat membuat kode