Table des matières
http基础
变量
服务器信息
表单处理
Maison 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 
Copier après la connexion

折行制定了一个称为方法(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/*, */*
Copier après la connexion

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

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

HTTP/1.1 200 ok
Copier après la connexion

这一行制定了协议的版本,状态码,和状态码的描述。本例中状态码为”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
Copier après la connexion

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');
    }   
?>
Copier après la connexion

图片的结果:

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)
}
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

7 fonctions PHP que je regrette de ne pas connaître auparavant 7 fonctions PHP que je regrette de ne pas connaître auparavant Nov 13, 2024 am 09:42 AM

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

Programme PHP pour compter les voyelles dans une chaîne Programme PHP pour compter les voyelles dans une chaîne Feb 07, 2025 pm 12:12 PM

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Expliquez la liaison statique tardive en PHP (statique: :). Expliquez la liaison statique tardive en PHP (statique: :). Apr 03, 2025 am 12:04 AM

Liaison statique (statique: :) ​​implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Apr 03, 2025 am 12:03 AM

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.

See all articles