📅  最后修改于: 2023-12-03 14:51:04.072000             🧑  作者: Mango
在 PHP 中,可以使用 URL(即统一资源定位符)来发送数据。 URL 是一个标准化的字符串,用于标识互联网上资源的位置和访问的方法。 PHP 中的 URL 可以通过 HTTP 请求,将数据发送到服务器或其他终端设备。本文将讲解如何使用 PHP 发送 URL 数据。
在 PHP 中,我们可以使用 GET 方法通过 URL 发送数据。 GET 方法的 URL 格式为:
http://example.com/path?name1=value1&name2=value2
其中,example.com
是服务器的地址,/path
是请求的路径,name1=value1&name2=value2
是发送的数据,以键值对的形式表示。在 PHP 脚本中,这些数据可以通过超全局变量 $_GET
对象进行访问。
以下是一个示例:
<?php
if(isset($_GET['name'])) {
echo "Hello, " . $_GET['name'] . "!";
}
?>
运行这段代码之后,通过 URL 访问 http://example.com/path?name=John
,就会在浏览器中显示 Hello, John!
。
值得注意的是,GET 方法有数据长度的限制,通常不能超过 2KB。因此,如果需要发送大量数据,应该使用 POST 方法。
POST 方法可以通过 URL 发送更多的数据。 POST 方法的 URL 格式为:
http://example.com/path
在 PHP 脚本中,可以使用 POST 方式发送更多的数据。代码如下所示:
<?php
if(isset($_POST['name'])) {
echo "Hello, " . $_POST['name'] . "!";
}
?>
在发送数据时,需要在 HTTP header 中设置 Content-Type 为 application/x-www-form-urlencoded
。然后,需要在发送的数据中使用 http_build_query()
函数将数据以字符串的形式发送。这里的数据格式为键值对。以下是一个示例:
<?php
$data = array('name' => 'John', 'age' => 30);
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents('http://example.com/path', false, $context);
echo $result;
?>
以上代码将发送一个 POST 请求,其中的数据为 name=John&age=30
,如果服务器正确返回,则可以在浏览器中打印服务器返回的内容。
在 PHP 中,可以使用 URL 发送数据。 GET 方法可以在 URL 中发送少量数据,而 POST 方法可以在 HTTP header 中设置 Content-Type,然后发送更多的数据。这些数据可以在 PHP 脚本中通过 $_GET 或 $_POST 超全局变量进行访问。