如何在PHP中获取网页的URL?

时间:2015-07-26 17:32:00

标签: php url dynamic server

我需要获取网站的网址,但我们如何在PHP中执行此操作?

例如,有一个网址extern crate cairo; extern crate gtk; use cairo::Context; use gtk::signal::Inhibit; use gtk::signal::WidgetSignals; use gtk::traits::ContainerTrait; use gtk::traits::WidgetTrait; use std::sync::{Arc,Mutex}; struct MyWidget { widget: gtk::DrawingArea, foo: u32, } impl MyWidget { fn new() -> Arc<Mutex<MyWidget>> { let result = Arc::new(Mutex::new(MyWidget { widget: gtk::DrawingArea::new().unwrap(), foo: 17 })); let r2 = result.clone(); result.lock().unwrap().widget.connect_draw(move |_w, c| { r2.lock().unwrap().redraw(c) }); result } fn modify(&mut self, x: u32) { self.foo += x; self.widget.queue_draw(); } fn redraw(&self, _ : Context) -> Inhibit { println!("Should redraw for {}", self.foo); Inhibit(true) } } fn main() { gtk::init().ok(); let window = gtk::Window::new(gtk::WindowType::TopLevel).unwrap(); let area = MyWidget::new(); window.add(&area.lock().unwrap().widget); window.connect_delete_event(|_, _| { gtk::main_quit(); Inhibit(true) }); let a1 = area.clone(); window.connect_key_release_event(move |_w, _event| { a1.lock().unwrap().modify(3); Inhibit(true) }); let a2 = area.clone(); window.connect_button_release_event(move |_w, _event| { a2.lock().unwrap().modify(17); Inhibit(true) }); window.show_all(); gtk::main(); } ,网址是动态的,我需要获取网址的www.example.com/page.php?var=value部分。该URL是其他网站,因此无法使用var=value个变量。

我无法解析URL,因为$_SERVER[]需要指定一个URL,我不知道parse_url()的值是什么,我想用PHP脚本获取URL然后解析它。

我们有什么方法可以在PHP中做到这一点吗?

2 个答案:

答案 0 :(得分:1)

parse_url将解析URL并返回其组件。

参考:http://php.net/manual/en/function.parse-url.php

<?php

    $url = 'www.example.com/page.php?var=value';
    $query_string = parse_url($url, PHP_URL_QUERY );

    echo $query_string;
?>
  

输出:

     

VAR =值

答案 1 :(得分:0)

使用parse_url()parse_str(),您可以获取参数:

$url = "www.example.com/page.php?var=value";
$urlParts= parse_url($url); // Separates the url
parse_str($urlParts['query'], $parameters);// Get the part you actually need it and create a array

var_dump($parameters) // Your parameters

<强>更新

将var_dump替换为:

foreach($parameters as $key => $value) {
    echo $key." = ".$value."<br />";
}