目錄
下面应出现4行语句,字体大小从4到7
读者会员资格注册申请
读者会员资格注册申请成功
" >读者会员资格注册申请成功
用户登录,请输入用户帐号和密码
用户%s登录成功,密码为%s。
您指定了%d个查询参数如下:
第%d个参数%s的值为:%s
您有%d条Cookies信息如下:
第%d条Cookie(%s)的值为:%s
你只需选择颜色名称,我来显示
你选择的颜色是%s
你只需设置Cookie,我来显示
鼠标移到各记录上的【项目名称】上时,请注意状态条内容的变化
首頁 後端開發 php教程 用PHP增强UNIX/LINUX网站功能_PHP

用PHP增强UNIX/LINUX网站功能_PHP

Jun 01, 2016 pm 12:34 PM
php 功能 可以 增強 文件 使用者 網站 腳本 頁面

在建立动态网站方面的强大功能,很快得到了广泛的应用。但由于众所周知的原因,ASP只能用于
微软自己的操作系统和服务器系统。目前基于UNIX的网络系统仍然占据大多数;而LINUX操
作系统由于其免费提供和开放源代码很受欢迎,其市场占有率迅速上升,据说已达到了17%左右;
APACHE服务器始终是网络站点的主流服务器软件。PHP的出现和逐渐完善,对基于
UNIX/LINUX系统的网络开发人员来说,无疑是个好消息:我们不用再只能羡慕ASP的
易用性而遗憾PERL/C的复杂性了!

              一 PHP特点概述
  PHP全称为Personal Home Page,于1995开始发行使用,到1998年成为一个成熟的软
件产品。目前最新的版本为4.0,而常用的版本为3.0。PHP是用C语言编写而成,可运行于
UNIX/LINUX和WIN9X/NT下。
  PHP,是一种跨平台的服务器端嵌入式脚本技术。PHP页面是一种文本文件,
是在普通HTML页面文件中嵌入PHP脚本语句,由服务器解释和翻译成普通的HTML文
件,然后传送给客户端浏览器,这一点和ASP一样。
  PHP大量借用了C、JAVA、和PERL语言的语法,并加入了各种PHP自
己的特征,使WEB开发者能够写出快速的动态页面。
  PHP脚本语句段以“”为开始,以“?>”为结束。“”和“?>”之间的脚本
语句由服务器软件调用PHP脚本解释引擎解释后替换为普通的HTML脚本。
  笔者认为,PHP最强大也最有代表性的特点在于它的数据库层,它内置了对很多
数据库的支持,而不再需要特殊扩充,使得编写基于数据库的网页变得非常简单。目前所支持的数据库
有Oracle、Adabas D、Sybase、FilePro、mSQL、Velocis、MySQL、Informix、Solid、dBase、
ODBC、Unix、dbm、PostgreSQL、MS SQL SERVER等。针对每个数据库都有一组函数用于数据库访问和操
作,如对dBase数据库有dbase_create、dbase_open、dbase_close、dbase_pack、dbase_add_record、
dbase_delete_record、dbase_get_record、dbase_numfields、dbase_numrecords等函数,对MySQL有
mysql_close、mysql_connect、mysql_create_db、mysql_data_seek、mysql_dbname、mysql_db_query
等函数。
  同时,PHP还提供了一组图像函数,可以动态生成gif格式的图像数据流并输出到
客户端。
  此外,PHP还提供了对Socket、EMail、PDF文件、HIS(Hyperwave Information
Server)、IMAP、LDAP(Lightweight Directory Access Protocol)、文件上载、NIS等功能的支持。


              二 搭建PHP应用系统平台
  PHP可以运行于UNIX/LINUX+APACHE服务器系统或WIN9X+PWS服务器系统或WINNT+IIS服务器系统。
  下面以PWIN98+PWS4.0为例,搭建一个PHP学习和开发环境。
(一)下载PHP3 For WIN9X/NT
  到http://www.php.net,选择downloads,然后选择Download the PHP source code and Windows
distribution,选择一个下载的站点,然后选择 3.0.11 Win32 binary 就可以了。如果觉得麻烦,就
用http://www.php.net/distributions/php-3.0.11-win32.zip吧。下载文件名为php-3.0.11-win32.zip,
大小为1.68M。
(二)安装PHP3 For WIN9X/NT
  安装PHP3 For WIN9X/NT很简单,只要将php-3.0.11-win32.zip解压缩到一个目录中即可。在下面的
讨论中,假设PHP3安装在C:\Program Files\PHP3目录中。
(三)配置PHP3 For WIN9X/NT
  配置PHP3 For WIN9X/NT,就是要修改系统设置,使PWS4.0能利用PHP3脚本解释引擎解释PHP页面。
  1、把C:\Program Files\PHP3目录里的文件php3-dist.ini拷到windows98安装目录(如C:\PWIN98)
下,并改名为php3.ini。
  2、编辑php3.ini文件
    编辑php3.ini文件,将“Paths and Directories”下的“Extension_dir”项改为“Extension_dir
=C:\Program Files\PHP3”;将“browscap”下的“browscap”项改为“browscap=C:\PWIN98\SYSTEMinetsrv\browscap.ini”(PWS4.0安装目录下文件);在注册表的HKEY_LOCAL_MACHINE\SystemCurrentControlSet\Services\W3Svc\Parameters\ScriptMap的主键下,增加一个字符串值,其名称为
“.php3”(PHP3文件的扩展名),其值为“C:\Program Files\PHP3\php.exe %s %s”。
  这样,在重新启动PWS服务器软件后,PWS4.0就可以利用PHP3脚本解释引擎解释PHP页面了。

              三 PHP脚本语法简介
  在PHP3文件中,PHP脚本语句段以“”为开始,以“?>”为结束,用“”和“?>”括起来的部分就
是PHP程序段。
  PHP语法和C、Perl的语法很相似,并主要来源于C语言,如控制流语句与C几乎完全一样、变量之间的
运算符与C的类似、函数定义和调用与C的类似等。
  PHP的变量名前面必须有一个$号,如$Var1、$Var2。PHP的变量作用域规定也类似于C,即缺省认为主函
数中的变量是全局变量,而函数中的变量都是局部变量。
  在PHP中,echo和printf函数用来向HTML页面中输出HTML内容,其中echo输出无格式字符串,printf输
出格式化的字符串。如echo("
这个一个PHP页面


")和printf("%s,%d",str1,int1)。
  如果熟悉C语言语法,学习PHP脚本语法应该不会太难。

              四 建立自己的简单PHP页面
  所谓的PHP页面就是在普通的HTML页面文件中插入一些特殊的脚本语言并以扩展名PHP保
存后的页面文件,所以可以很容易地建立一个自己的简单的PHP页面。
  下面是一个简单的PHP页面文件( test01.php3),应该不难理解。



一个简单的PHP3页面



        echo("PHP脚本解释引擎已经开始为您工作了!
"); ?>

下面应出现4行语句,字体大小从4到7


for($i = 4;$i

>这行语句的字体大小为
printf("%d",$i);} ?>




  其中,语句 printf("%d",$i); ?> 是将变量 i 的值输出到HTML文件中。
  由上可见,可以先制作一个普通的HTML页面文件,然后在需要的地方插入PHP脚本语言即可.
关键是熟练应用PHP脚本语句.
  该页面虽然简单,却可以帮助熟悉和理解PHP语法.可以用浏览器查看运行效果,再用其查看源代
码的功能看一下源代码,可以看对PHP页面解释后的HTML文件.注意必须用http的方式访问PHP页面,
不能象HTML页面文件那样双击文件名以文件方式浏览.如在笔者的计算机上的访问方式为
http://wangfajun/test01.php3,因为PHP页面需要PWS等服务器软件进行解释。

              四 获取用户请求信息
  要制作动态站点页面,获取用户请求信息是必不可少的。PHP页面可以利用这些信息作为某些应用
(如商业订单信息)的依据,并对申请者的申请要求作出反馈。
  在ASP页面中,可以利用其内建对象Request获取访问者的申请信息。而在PHP页面中,可以以读取
数组的方式获取访问者的申请信息如表单信息(Form Field)、查询信息(QueryString)等。请求页
面中以POST方式发送的请求信息可以以$HTTP_POST_VARS["ItemName"]的方式获取,以GET方式发送的请
求信息可以以$HTTP_GET_VARS["ItemName"]的方式获取,Cookies信息可以以$HTTP_COOKIE_VARS[
"ItemName"]的方式获取。一般表单信息是以POST方式发送的,可以以$HTTP_POST_VARS["ItemName"]的
方式获取;查询信息是以GET方式发送的,可以以$HTTP_GET_VARS["ItemName"]的方式获取。
(一)由一个HTML或PHP3页面请求另一个PHP3页面处理
  在下面的这个例子中,读者会员资格注册申请页面要求申请者填写其姓名全称、身份证号码、
EMail地址。在收到读者申请后通知其注册成功。
  先做一个读者会员资格注册申请页面,可以是HTML页面或PHP页面.这应该不成问题.



读者会员资格注册申请


读者会员资格注册申请




姓名全称:


身份证号码:


电子邮箱:






  在申请页面中,所有的申请数据均填写在Form元素中,并且在Form的Action中指定处理
申请的页面为test02.php3。当收到申请时,对应项目的数据可以由$HTTP_POST_VARS["项目名称"]
来获得,其中"项目名称"为Form元素的名称,如"姓名全称"对应"FullName" ,如"身份证号码"对
应"UniversalID" 。现在利用这些信息来制作一个注册成功的通知页面test02.php3。



读者会员资格注册申请成功


读者会员资格注册申请成功


亲爱的 printf("%s",$HTTP_POST_VARS["FullName"]) ?>读者:

我们已经收到你的申请,并接受你的申请.你已经成为我部正式读者会员.

你的读者号为CN printf("%s",$HTTP_POST_VARS["UniversalID"]) ?>。我们将通过你的电子信箱
printf("%s",$HTTP_POST_VARS["Email"]) ?>来正式通知你.此后我部举行读者沙龙活动的时间
和地点也将通过该信箱通知你.


  现在用浏览器打开申请页面apply.htm,填入对应数据后提交申请,查看反馈效果,再用浏览器
的查看源代码的功能看一下源代码,可以看对PHP页面解释后的HTML文件.

(二)由一个PHP3页面请求同一个PHP3页面处理
  下面的另一个例子中,login.php3 提供了一个用户登录页面,要求用户输入登录帐号和密码,
然后再通过Form的Action属性将表格发送给自己进行处理.在 login.php3 中,将根据帐号和密码
是否为空来判断是输入页面还是反馈页面,并给予不同的提示,若未输入帐号或密码则提示“用户
登录,请输入用户帐号和密码",否则显示用户帐号和密码。



用户登录


file://帐号或密码为空,提示用户登录输入用户帐号和密码
if(Empty($HTTP_POST_VARS["CustomerID" ] ) ¦¦
Empty($HTTP_POST_VARS["Password" ] ))
{
?>

用户登录,请输入用户帐号和密码





用户帐号:


用户密码:




}
else file://已输入用户帐号和密码,则显示用户帐号和密码
{
printf("

用户%s登录成功,密码为%s。

",$HTTP_POST_VARS[ "CustomerID" ],
      $HTTP_POST_VARS[ "Password" ]);
}
?>



(三)在PHP3页面中获取查询参数信息
  当用户以 xxxxx.php3?ParaName = ParaValue 的方式发出查询请求时,xxxxx.php3 可以
从$HTTP_GET_VARS[ "ParaName"] 中获取用户提交的查询参数ParaName的信息ParaValue,还可
以从count($HTTP_GET_VARS)得知用户请求参数的个数并进行相应的处理。
  当用户以 query.php3?CustomerID=7777 的方式发出查询请求时,query.php3 可以从
$HTTP_GET_VARS[ "CustomerID" ] 中取得查询参数 CustomerID的值为 7777,
count($HTTP_GET_VARS) 为 1.
  当用户以 query.php3?CustomerID=7777&Password=DogIsDog 的方式发出查询请求时
,query.php3 可以从$HTTP_GET_VARS[ "CustomerID" ] 中取得查询参数 CustomerID 的值为
7777,从$HTTP_GET_VARS[ "Password" ] 中取得查询参数 Password的值为 DogIsDog ,
count($HTTP_GET_VARS) 为 2。
  下面的例子(query.php3)用于获取用户指定的查询参数,并显示出来反馈给用户。当以
query.php3?CustomerID=1111&StartDate=1999.01.01&EndDate=1999.06.30的方式发出请求时,
得到的结果为:
您指定了3个查询参数如下:
第1个参数CustomerID的值为:1111
第2个参数StartDate的值为:1999.01.01
第3个参数EndDate的值为:1999.06.30



查询参数处理



    $QueryCount = count($HTTP_GET_VARS);//查询参数个数
    printf("

您指定了%d个查询参数如下:

",$QueryCount);//显示查询参数个数
    file://列举各个查询参数及其值
    for( $intIndex = 0 ;list( $key, $val ) = each( $HTTP_GET_VARS ); $intIndex++ )
      {
        printf("

第%d个参数%s的值为:%s

", $intIndex+1, $key, $val);
      }
?>



(四)、获取用户的Cookies信息
Cookies 可以服务器和客户端之间双向传递,它记录了特定用户的某些信息.在PHP
中可利用$HTTP_COOKIE_VARS["CookieItemName"]获取用户的Cookies信息。下面语句可用来显
示用户的所有Cookies信息:

    $QueryCount = count($HTTP_COOKIE_VARS);//Cookie数目
    printf("

您有%d条Cookies信息如下:

",$QueryCount);//显示Cookie数目
    file://列举各个Cookie及其值
    for( $intIndex = 0 ;list( $key, $val ) = each( $HTTP_COOKIE_VARS ); $intIndex++ )
      {
        printf("

第%d条Cookie(%s)的值为:%s

", $intIndex+1, $key, $val);
      }
?>

(五)、获取服务器环境信息
  在PHP中,服务器环境信息以一组全局变量的形式给出,以供PHP脚本程序访问。
  常用的服务器环境变量信息有:
$GATEWAY_INTERFA
CE:网关界面如CGI/1.1
$HTTP_ACCEPT:客户端可接受的MIME类型列表如*/*
$HTTP_ACCEPT_LANGUAGE:服务器采用的语言,"en"表示英文,"zh-cn"表示简体中文
$HTTP_HOST:HTTP服务器名称
$HTTP_USER_AGENT:发出请求的客户浏览器类型,根据用户请求信息和browscap.ini来识别,
         如Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
$LOCAL_ADDR:本机服务器名称
$PATH_TRANSLATED:脚本文件的文件全名(含实际路径),如
C:\Inetpub\wwwroot\php3\query.php3
$REMOTE_ADDR:发出请求的客户端机器的IP地址
$REMOTE_HOST:发出请求的客户端机器的名称
$REQUEST_METHOD:发出请求的方法(Post/Get/Head)
$SCRIPT_NAME:被调用的脚本文件的路径及文件名称如/php3/query.php3
$SERVER_NAME:服务器的名称或IP地址
$SERVER_PORT:HTTP服务端口号,一般为 80.
$HTTP_REFERER:客户端发出CGI程序请求的页面的URL
$SERVER_PROTOCOL:服务器软件所用的协议如HTTP/1.1
$SERVER_SOFTWARE:服务器软件的名称及版本如Microsoft-IIS/4.0

                 五 向用户发送信息
  可以利用PHP提供的函数很灵活地控制向客户端发送的信息的内容和方式.例如可以动态设置反馈
信息、设置客户的Cookie、页面重新定位等等。
(一)、利用 echo、printf等PHP函数控制发送的信息内容
函数 echo、printf 可以向发往客户端浏览器的HTML文件中直接输出内容。
在下面的例子中,selecolr.php3 要求用户输入一个颜色名称,用户确认后将用户申请发
往同一个页面selecolr.php3,然后用用户指定的颜色将颜色名称显示出来.



服务器端脚本和客户端脚本混合编程


鼠标移到各记录上的【项目名称】上时,请注意状态条内容的变化




for( $intIndex = 1; $intIndex
 
       
       
 
 
}?>
项目名称 状态条应出现的内容

                       
鼠标现在正指向项目 echo($intIndex) ?>



    七 增加注释
  在编程时添加注释是一个好的习惯.PHP 允许在页面代码中添加注释,具体的注释方法与C
语言注释语法相同,如可用双斜杠“//”作为注释符。

  八 利用 Include 来实现功能模块化
  可以将常用的功能函数存于一个PHP文件,在其它PHP页中要用其中的功能时,将包含函数的
PHP文件包含在调用函数的PHP文件中.这时可使用 Include 函数。具体语法为:
include($FileName);
使用时应该注意:
  1、应避免自包含,即 File1 包含 File1;在多个文件中有包含语句时,应避免间接自包含
即循环包含,如File1包含File2,File2包含File3,File3包含File1.
  2、被包含的脚本语言的类型必须是PHP语言类型或<script></script>脚本语句段。

  以上是学习和使用PHP创建动态、交互式站点的一些入门知识,有了这些基础知识,就可以发挥
以前自己积累的编程经验,自己动手学习和探索用PHP创建基于UNIX/LINUX网站系统的动态、交互式
站点的高级网
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++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教學
1663
14
CakePHP 教程
1419
52
Laravel 教程
1313
25
PHP教程
1263
29
C# 教程
1237
24
您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

php程序在字符串中計數元音 php程序在字符串中計數元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? 什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? Apr 03, 2025 am 12:03 AM

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

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 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

See all articles