当前位置:首页 » 编程语言 » php解析http

php解析http

发布时间: 2023-09-12 19:49:40

‘壹’ apache php 安装后,Apache正常启动,但无法解析PHP,可以解析html。网页出现HTTP 404是怎么回事

apache php 安装后,Apache正常启动,但无法解析PHP,可以解析html。网页出现HTTP 404是设置错误造成的,解决方法为;

1、在apache的安装目录下,有一个htdocs目录,现在,我们在该目录下,新建一个简单的php网页文件。

‘贰’ php怎么响应客户端发送http请求

http请求有get,post。
php发送http请求有三种方式[我所知道的有三种,有其他的告诉我]。
1. file_get_contents();详情见:http://www.jb51.net/article/41833.htm
2. curl发送请求。
3. fsocket发送。
下面说使用curl发送。
首先环境需要配置好curl组件。
在windows中让php支持curl比较简单:
在php.ini中将extension=php_curl.dll前面的分号去掉,
有人说需要将php根目录的libeay32.dll和ssleay32.dll需要拷贝到系统目录下去。我实验不拷贝也可以。
linux中,如果使用源码安装,需要在make 之前,./configure --with-curl=path,
其中,path是你的 libcurl库的位置,比如你安装libcurl库之后,
path可能就是/usr/local/,libcurl可以是静态库,也可以是动态库。
注意libcurl库configure的时候,可以将一些不需要的功能去掉,
比如ssl , ldap等。在php configure的时候,会去检查libcurl中某些功能是否被开启,进而去相应地调整生成的php。

‘叁’ php 如何获取 客户端http header

<?php
$dir=$HTTP_GET_VARS["dir"];//.......取得上个页面传递来的路径
$file=$HTTP_GET_VARS["file"];//.......取得传递来的文件名
$url=parse_url($HTTP_REFERER);/*......取得前一页面的URL地址,并将其放入一个数组中*/
if($url[host]!=$HTTP_HOST){echo"要下载本软件请到<ahref=http://www.df365.org>东方小屋</a>";exit;}/*检查来源网站是不是自己的网站,如果不是,返回“要下载本……”*/
if(empty($dir))$dir="/";//......如果路径名为空,则为指定根目录
if(empty($file)){echo"未指定要下载的文件!";exit;}/*如果文件名为空,返回“未指定……”*/
$rootdir="文件存放的根目录";//......你的下载路径根目录
$realurl=$rootdir.$dir;//.......取得你的下载目录
chdir($realurl);//......将当前目录转到下载目录中
if(!file_exists($file)){echo"对不起,此链接已经失效,请在下载页面上向我们报告,谢谢!";exit;}//......测试文件是否存在
$filename=$file;
//发送文件头信息
header("Cache-control:private");//fixforIE
header("Content-Type:application/octet-stream");
header("Content-Length:".filesize($filename));
header("Content-Disposition:attachment;filename=$filename");
$fp=fopen($filename,'r');//以读取方式打开指定文件
fpassthru($fp);//**CORRECT**以二进制方式读取文件
fclose($fp);//关闭文件
?>

‘肆’ 难,求高手,php怎么获取httprequest和httpresponse信息

HttpResponse输出文件:
Response.Clear();
Response.ContentType = "application/octet-stream";
//通知浏览器下载文件而不是打开
Response.AddHeader("Content-Disposition", "attachment; filename=aaa.csv");
var sw = new StreamWriter(response.OutputStream);
//cc.Write<CustomerData>(list, sw, csvFileDesc);
sw.Flush();
sw.Close();

HttpRequest获取文件:

var sr = new StreamReader(request.InputStream);

‘伍’ php中使用parse_url()对网址进行解析的实现代码(parse_url详解)

PHP
解析
URL函数:
parse_url详解
parse_url

解析
URL,返回其组成部分
说明
array
parse_url
(
string
$url
)
本函数解析一个
URL
并返回一个关联数组,包含在
URL
中出现的各种组成部分。
本函数不是用来验证给定
URL
的合法性的,只是将其分解为下面列出的部分。不完整的
URL
也被接受,parse_url()
会尝试尽量正确地将其解析。
参数
url
要解析的
URL
返回值
对严重不合格的
URL,parse_url()
可能会返回
FALSE
并发出
E_WARNING。否则会返回一个关联数组,其组成部分为(至少有一个):
scheme


http
host
port
user
pass
path
query

在问号
?
之后
fragment

在散列符号
#
之后
范例
parse_url()
例子
复制代码
代码如下:
<?php
$url
=
'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
?>
以上例程会输出:
Array
(
[scheme]
=>
http
[host]
=>
hostname
[user]
=>
username
[pass]
=>
password
[path]
=>
/path
[query]
=>
arg=value
[fragment]
=>
anchor
)
常常我们会传送一大串网址,然后要解析的话,只能不断地去切token来解析。但是在php中,一定要学会使用前人所写过的函式,这样开发速度才会快别人一截。当然,要解析网址的话,就得去找相关的指令,而今天要介绍的,就是php中的parse_url这个函式。
这个函式主要是用来解析网址,而首先先看一下这个函式原型,其官方描述如下:
mixed
parse_url
(
string
$url
[,
int
$component=
-1
]
)
而php官方举了一个例子,而我将他扩充如下,以方便讲解。
复制代码
代码如下:
<?php
$url
=
'http://username:password@hostname/path?arg1=value1&arg2=value2#anchor';
print_r(parse_url($url));
?>
首先,先看一下这个程式的输出结果
Array
(
[scheme]
=>
http
[host]
=>
hostname
[user]
=>
username
[pass]
=>
password
[path]
=>
/path
[query]
=>
arg1=value1&arg2=value2
[fragment]
=>
anchor
)
其中,scheme是指他走的路线,而host则是站台网址,user则是使用者名称,pass则是密码,path则是路径,query则是参数,fragment则是锚点。
而在“$component”的部份,则是有以下的参数可供传递。
PHP_URL_SCHEME
PHP_URL_HOST
PHP_URL_USER
PHP_URL_PASS
PHP_URL_PATH
PHP_URL_QUERY
PHP_URL_FRAGMENT
而这几个参数则分别代表了Array中的scheme、host、user、pass、path、query和fragment。
同样,举例来说,如果使用PHP_URL_PATH和PHP_URL_QUERY来说,以下为他的示范。
复制代码
代码如下:
<?php
$url
=
'http://username:password@hostname/path?arg1=value1&arg2=value2#anchor';
echo
nl2br(parse_url($url,
PHP_URL_PATH)."\n");
echo
nl2br(parse_url($url,
PHP_URL_QUERY)."\n");
?>
而输出结果将如下:
/path
arg1=value1&arg2=value2

‘陆’ PHP脚本程序主要是由哪几部分组成

运行PHP脚本程序,必须借助PHP预处理器、WEB服务器和WEB浏览器,必要时还需借助数据库服务器。
1.WEB浏览器
也叫网页浏览器,简称浏览器。常见的浏览器有微软的Internet Explorer(IE)浏览器、Mozilla的Firefox浏览器等。

2.PHP预处理器

PHP Preprocessor的功能是将PHP程序中的代码解释为文本信息,这些文本信息中可以包含HTML代码。

3.WEB服务器

WEB Server也称为WWW(World Wide Web)服务器,功能是解析HTTP。当WEB服务器接收到浏览器的一个HTTP动态请求时,Web服务器会调用与请求对应的程序,程序经PHP预处理器解释执行后,WEB服务器向浏览器返回HTTP响应,该响应通常是一个HTML页面。浏览器收到该HTTP响应后,将执行结果显示在浏览器上。

常见的WEB服务器有微软的Internet Information Server(IIS)服务器、IBM的WebSphere服务器、开源的Apache服务器等。IIS中文全称是互联网信息服务器。

WEB浏览器请求的是静态页面,只需要WEB服务器响应该请求;如果浏览器请求的是动态页面(php代码),此时WEB服务器会委托PHP预处理器将动态页面解释为HTML静态页面,再有WEB服务器返回给浏览器显示。

4.数据库服务器
Database Server是一套为应用程序提供数据管理的服务软件,服务包含数据的添加、修改、删除、事务管理、索引服务、高速缓存、查询优化、安全及存储控制等。
常见的数据库服务器有甲骨文的Oracle、微软的SQL Server、IBM的DB2、SAP的Sybase以及SUN公司的MySQL等。

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:233
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:532
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726