Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में URL String से Parameters प्राप्त करना


PHP में URL से query parameters extract करने के built-in functions।

विधि 1: parse_url() + parse_str() (Standard)

<?php
$url = 'https://example.com/register?name=demo&email=amit@example.com&age=25';

// Step 1: URL parse करें
$parts = parse_url($url);
/*
Array
(
    [scheme] => https
    [host] => example.com
    [path] => /register
    [query] => name=demo&email=amit@example.com&age=25
)
*/

// Step 2: Query string को array में parse करें
$params = [];
if (isset($parts['query'])) {
    parse_str($parts['query'], $params);
}

print_r($params);
/*
Array
(
    [name] => demo
    [email] => amit@example.com
    [age] => 25
)
*/

// Access individual params
echo $params['email']; // amit@example.com

विधि 2: parse_str() Directly (Current Page के लिए)

<?php
// Current request के लिए
parse_str($_SERVER['QUERY_STRING'], $params);
// या
$params = $_GET; // Already parsed by PHP

// Arbitrary query string के लिए
$queryString = 'name=demo&email=amit@example.com&tags[]=php&tags[]=dev';
parse_str($queryString, $params);
// $params['tags'] = ['php', 'dev'] - arrays automatically handled!

विधि 3: $_GET Superglobal (Current Request)

<?php
// Current page के query parameters
$name = $_GET['name'] ?? 'default';
$email = $_GET['email'] ?? null;
$tags = $_GET['tags'] ?? []; // Array if tags[]=a&tags[]=b

// All params
$allParams = $_GET;

विधि 4: HTTP Query String Build करना (Reverse)

<?php
$params = [
    'name' => 'अमित',
    'email' => 'amit@example.com',
    'tags' => ['php', 'developer'],
    'active' => true
];

// http_build_query - arrays को proper format में convert करता है
$queryString = http_build_query($params);
// name=%E0%A4%85%E0%A4%AE%E0%A4%BF%E0%A4%A4&email=amit%40example.com&tags[0]=php&tags[1]=developer&active=1

$url = 'https://example.com/api?' . $queryString;

उन्नत: URL Class (PHP 8.0+)

<?php
// PHP 8.0+ - Uri\Url (experimental) या PECL http
// अभी standard library में नहीं, लेकिन polyfills उपलब्ध

// League/Uri (composer require league/uri)
use League\Uri\Parser;

$parser = new Parser();
$uri = $parser->parse('https://example.com/path?name=value#fragment');

echo $uri->getQuery(); // name=value
parse_str($uri->getQuery(), $params);

सामान्य उपयोग के मामले

ScenarioCode
Single param प्राप्त करें$id = $_GET['id'] ?? null;
All params as array$params = $_GET;
External URL parseparse_str(parse_url($url, PHP_URL_QUERY), $params);
URL rebuild with modificationshttp_build_query(array_merge($_GET, ['page' => 2]))
Remove specific paramunset($params['utm_source']); http_build_query($params);

Security Notes

  • हमेशा htmlspecialchars() उपयोग करें output में
  • parse_str() बिना second argument के variables create करता है (deprecated behavior) - हमेशा array pass करें
  • User input को validate/sanitize करें before use
  1. JavaScript से URL के GET पैरामीटर्स का मान जानें JavaScript से URL के GET पैरामीटर्स का मान जानें

    JavaScript से URL के GET पैरामीटर्स का मान जानने के लिए कोड निम्न है -उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Doc

  1. Android ऐप में URL से Bitmap कैसे प्राप्त करें? Android ऐप में URL से Bitmap कैसे प्राप्त करें?

    URL से Bitmap डाउनलोड करना यह उदाहरण दर्शाता है कि Android में AsyncTask का उपयोग करके बैकग्राउंड थ्रेड में URL से इमेज डाउनलोड करके ImageView में कैसे प्रदर्शित करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: लेआउट में दो ImageView जोड़ें (activity_main.xml) &

  1. Python 3 में Tkinter filedialog से स्ट्रिंग कैसे प्राप्त करें? Python 3 में Tkinter filedialog से स्ट्रिंग कैसे प्राप्त करें?

    Tkinter एप्लिकेशन में फाइल सिस्टम के साथ इंटरैक्ट करने के लिए, आप Tkinter filedialog मॉड्यूल का उपयोग कर सकते हैं। यह सिस्टम में फ़ाइलों से निपटने का एक तरीका प्रदान करता है। filedialog मॉड्यूल एप्लिकेशन के लिए विभिन्न फ़ाइल डायलॉग बनाने में डेवलपर्स की मदद करने के लिए कई बिल्ट-इन फ़ंक्शन प्रदान करत