目录
http基础
变量
服务器信息
表单处理
首页 php教程 php手册 第7章 PHP学习 WEB技术

第7章 PHP学习 WEB技术

Jun 06, 2016 pm 08:08 PM
php web 学习 技术

php被设计为一种web脚本语言,大多数的时候还是用于web开发:表单(form),会话(session)和重定向(redirection)等概念。你将学会如何访问表单参数和上传文件,如何发送cookie和在浏览器中转向,如何使用session等。 http基础 web的运行基础是基于http协议的

php被设计为一种web脚本语言,大多数的时候还是用于web开发:表单(form),会话(session)和重定向(redirection)等概念。你将学会如何访问表单参数和上传文件,如何发送cookie和在浏览器中转向,如何使用session等。

http基础

web的运行基础是基于http协议的(超文本传输协议),http协议规定了浏览器如何向web服务器请求文件,以及服务器如何根据请求返回文件。为了理解本章中将阐述的各种技术,你需要对http有一个基本的了解。想更多了解http请看

当一个web浏览器请求一个web页面时,会发送一个http请求消息给web服务器: 这个请求总是包含某些头部信息(header information)有时也会有消息主体(body)。web服务器将返回一个回应消息作为相应,回应消息也包含头部信息和消息主题。http请求的第一行通常是这样的:

GET /index.html HTTP/1.1 
登录后复制

折行制定了一个称为方法(method)的http命令,其后指明了文档的地址和正在使用的http协议版本。本例中,请求使用GET方法,并采用http1.1协议请求名称为index.html的服务器端文档。在第一行之后,请求还可能包含一些可选择的头部信息,给服务器附加的数据,如:

User-Agent:Mozilla/5.0 (Windows 2000; U) Opear 6.0 [en]  
Accept: image/gif, image/jpeg, text/*, */*
登录后复制

User-Agent头提供浏览器相关的信息,而Accept头制定了浏览器接受的MIME类型。在所有的头部信息之后,请求会包含一个空白的行,说明头部信息已经结束。请求也可以包含附加的数据,如果采用了相对应的方法。(如:用POST方)如果请求不包含任何数据,它会以一行空白行结束。

web服务器请求后,处理并且返回一个响应。响应的第一行看起来应该是这样:

HTTP/1.1 200 ok
登录后复制

这一行制定了协议的版本,状态码,和状态码的描述。本例中状态码为”200″,说明请求成功。在状态之后,响应消息包含了一些头部信息,用于向客户端浏览器提供附加信息。如:

Date: Sat, 200 Jan 2006 20:25:12 GMT  
Server: Apache 1.3.33 (Unix) mod_perl/1.26 PHP/5.0.5  
Content-Type:text/html  
Content-Length:141
登录后复制

Server这一行提供了Web服务器软件的响应信息;Content-Type指定响应中数据的MIME类型。在这些头部信息之后是一个空白行,如果请求成功,空白行之后就是所请求的数据

最常用的两种http方法是get和post。get方法用于从服务器中获得文档,图像或者数据库检索结果的信息。post则用于向服务器发送信息,例如:信用卡的卡号或者其他信息提交到服务器。

变量

本节介绍3种php脚本来获取服务器环境信息,请求信息(包括表单参数和cookie)的方法。我们通常称这些信息为EGPCS.

如果php.ini文件中的register_globals选项被启用时,php就会为每一个表单参数、请求信息以及服务器环境创建一个独立的全局变量。这个功能非常方便,它可以让浏览器为你的程序初始化任何变量。

如果胡洛register_gloabls设置,php将创建6个包含EGPCS信息的全局数组。

这些全局数组为:

  • $_COOKIE 包含作为请求的一部分进行传递的所有的cookie值,数组的键名是cookie名称
  • $_GET 包含作为GET请求的一部分进行传递的参数,数组的键名是表单参数的名称。
  • $_POST 包含作为post请求的一部分进行传递的参数,数组的键名是表单参数的名称。
  • $_FILES 包含所有上传的文件的信息、
  • $_SERVER 包含很多服务器相关的有用信息
  • $_ENV 包含环境变量值,键名是环境变量的名称。这些变量不但是全局的,而且在函数的定义中也是可见的。
  • $_REQUEST数组也有php自动生成,包含了$_GET,$_POST,$_COOKIE 三个数组的所有元素。

php还会创建一个$_SERVER['PHP_SELF']变量,用于存放当前脚本的路径和名称(相对与文档根目录)

服务器信息

$_SERVER 数组包含很多服务器相关的有用信息。其中大部分信息来自于CGI规范,中所要求的环境变量。

  • SERVER_SOFTWARE 标示服务器的字符串:”Apache/1.3.33(Unix)mod_perl/1.26 PHP/5.0.5″
  • SERVER_NAME 主机名,DNS别名,或者ip地址:’www.dirt-lift.net’
  • GATEWAY_INTERFACE 遵循cgi标准的版本号
  • SERVER_PROTOCOL 请求协议的名称和版本:http/1.1
  • SERVER_PORT 发送到服务器端口号
  • REQUEST_METHOD 客户端获取文档的方法,get
  • PATH_INFO 客户端发送的扩展路径,如’/list/users’
  • PATH_TRANSLATED
  • HTTP_USER_AGENT
  • HTTP_REFERER

表单处理

上传文件,

<?php define("SECTION","-------------------------\n");
    if(is_uploaded_file($_FILES['uploadfile']['tmp_name'])){
        //图片临时存放路径在php.ini的uploa_temp_dir选项指定。
        var_dump($_FILES['uploadfile']);
        echo "上传成功";
        move_uploaded_file($_FILES['uploadfile']['tmp_name'],'path/to/put/file/$file');
    }   
?>
登录后复制

图片的结果:

array(5) {
  ["name"]=>
  string(15) "men_pic_big.gif"
  ["type"]=>
  string(9) "image/gif"
  ["tmp_name"]=>
  string(14) "/tmp/phppiB0P2"
  ["error"]=>
  int(0)
  ["size"]=>
  int(2081)
}
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1675
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
PHP:网络开发的关键语言 PHP:网络开发的关键语言 Apr 13, 2025 am 12:08 AM

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP和Python:比较两种流行的编程语言 PHP和Python:比较两种流行的编程语言 Apr 14, 2025 am 12:13 AM

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP行动:现实世界中的示例和应用程序 PHP行动:现实世界中的示例和应用程序 Apr 14, 2025 am 12:19 AM

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

PHP的持久相关性:它还活着吗? PHP的持久相关性:它还活着吗? Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在现代编程领域中依然占据重要地位。1)PHP的简单易学和强大社区支持使其在Web开发中广泛应用;2)其灵活性和稳定性使其在处理Web表单、数据库操作和文件处理等方面表现出色;3)PHP不断进化和优化,适用于初学者和经验丰富的开发者。

PHP和Python:解释了不同的范例 PHP和Python:解释了不同的范例 Apr 18, 2025 am 12:26 AM

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP和Python:代码示例和比较 PHP和Python:代码示例和比较 Apr 15, 2025 am 12:07 AM

PHP和Python各有优劣,选择取决于项目需求和个人偏好。1.PHP适合快速开发和维护大型Web应用。2.Python在数据科学和机器学习领域占据主导地位。

PHP与其他语言:比较 PHP与其他语言:比较 Apr 13, 2025 am 12:19 AM

PHP适合web开发,特别是在快速开发和处理动态内容方面表现出色,但不擅长数据科学和企业级应用。与Python相比,PHP在web开发中更具优势,但在数据科学领域不如Python;与Java相比,PHP在企业级应用中表现较差,但在web开发中更灵活;与JavaScript相比,PHP在后端开发中更简洁,但在前端开发中不如JavaScript。

PHP:处理数据库和服务器端逻辑 PHP:处理数据库和服务器端逻辑 Apr 15, 2025 am 12:15 AM

PHP在数据库操作和服务器端逻辑处理中使用MySQLi和PDO扩展进行数据库交互,并通过会话管理等功能处理服务器端逻辑。1)使用MySQLi或PDO连接数据库,执行SQL查询。2)通过会话管理等功能处理HTTP请求和用户状态。3)使用事务确保数据库操作的原子性。4)防止SQL注入,使用异常处理和关闭连接来调试。5)通过索引和缓存优化性能,编写可读性高的代码并进行错误处理。

See all articles