首页 PHP初高级

PHP初高级

举报
开通vip

PHP初高级PHP 文件可包含文本、HTML 标签以及脚本。PHP 文件中的脚本可在服务器上执行。 您应当具备的基础知识 在继续学习之前,您需要对下面的知识有基本的了解: ​ HTML / XHTML ​ 基础的脚本知识 如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。 什么是 PHP? ​ PHP 指 PHP:超文本预处理器(译者注:PHP: Hypertext Preprocessor,递归命名) ​ PHP 是一种服务器端的脚本语言,类似 ASP ​ PHP 脚本在服务器上执行 ​ PHP 支持很...

PHP初高级
PHP 文件可包含文本、HTML 标签以及脚本。PHP 文件中的脚本可在服务器上执行。 您应当具备的基础知识 在继续学习之前,您需要对下面的知识有基本的了解: ​ HTML / XHTML ​ 基础的脚本知识 如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。 什么是 PHP? ​ PHP 指 PHP:超文本预处理器(译者注:PHP: Hypertext Preprocessor,递归命名) ​ PHP 是一种服务器端的脚本语言,类似 ASP ​ PHP 脚本在服务器上执行 ​ PHP 支持很多数据库(MySQL、Informix、Oracle、Sybase、Solid、PostgreSQL、Generic ODBC 等等) ​ PHP 是一个开源的软件(open source software,OSS) ​ PHP 可免费下载使用 什么是 PHP 文件? ​ PHP 文件可包含文本、HTML 标签以及脚本 ​ PHP 文件向浏览器返回纯粹的 HTML ​ PHP 文件的文件后缀是 ".php"、".php3" 或 ".phtml" 什么是 MySQL? ​ MySQL 是一种数据库服务器 ​ MySQL 支持标准的 SQL ​ MySQL 可在许多平台上编译 ​ MySQL 可免费下载使用 PHP + MySQL PHP 与 MySQL 的组合是跨平台的(意思是您可以在 Windows 环境进行开发,而在 Unix 平台上提供服务) 为什么要使用 PHP? ​ PHP 可在不同的平台上运行(Windows、Linux、Unix) ​ PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等) ​ PHP 可从官方的 PHP 资源免费下载:www.php.net ​ PHP 易于学习,并可高效地运行在服务器端 从何处开始? ​ 在 Windows 或者 Linux 机器上安装 Apache 服务器 ​ 在 Windows 或者 Linux 机器上安装 PHP ​ 在 Windows 或者 Linux 机器上安装 MySQL 你需要做什么? 本教程不会为您讲解如何安装 PHP 、MySQL 或 Apache 服务器。 如果您的服务器支持 PHP - 那么您不需要做任何事情!您不需要编译任何软件,或安装额外的工具 - 只要在您的 web 目录中创建 .php 文件即可 - 然后您的服务器会为您解析这些文件。大多数主机都提供对 PHP 的支持。 不过,如果您的服务器不支持 PHP,那么您必须安装 PHP。下面的链接提供了来自 PHP.net 的优秀教程,您可以从中学习到如何安装 PHP5: http://www.php.net/manual/en/install.php 下载 PHP 从此处下载免费的 PHP:http://www.php.net/downloads.php 下载 MySQL Database 从此处下载免费的 MySQL:http://www.mysql.com/downloads/index.html 下载 Apache Server 从此处下载免费的 Apache:http://httpd.apache.org/download.cgi 您无法在浏览器中通过查看源文档的方式来查看 PHP 的源代码 - 您只能看到 PHP 文件的输出,即纯粹的 HTML。这是因为在结果返回浏览器之前,脚本就已经在服务器执行了。 基本的 PHP 语法 PHP 的脚本块以 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。 当然,在支持简写的服务器上,您可以使用 来开始和结束脚本块。 不过,为了达到最好的兼容性,我们推荐您使用标准形式 ( PHP 文件通常会包含 HTML 标签,就像一个 HTML 文件,以及一些 PHP 脚本代码。 在下面,我们提供了一段简单的 PHP 脚本,它可以向浏览器输出文本 "Hello World": PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。 有两种通过 PHP 来输出文本的基础指令:echo 和 print。在上面的例子中,我们使用了 echo 语句来输出文本 "Hello World"。 PHP 中的注释 在 PHP 中,我们使用 // 来编写单行注释,或者使用 /* 和 */ 来编写大的注释块。 变量用于存储值,比如数字、字符串或函数的结果,这样我们就可以在脚本中多次使用它们了。 PHP 中的变量 变量用于存储值,比如数字、文本字符串或数组。 一旦设置了某个变量,我们就可以在脚本中重复地使用它。 PHP 中的所有变量都是以 $ 符号开始的。 在 PHP 中设置变量的正确 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 是: $var_name = value; PHP 的入门者往往会忘记在变量的前面的 $ 符号。如果那样做的话,变量将是无效的。 让我们试着创建一个存有字符串的变量,和一个存有数值的变量: PHP 是一门松散类型的语言(Loosely Typed Language) 在 PHP 中,不需要在设置变量之前声明该变量。 在上面的例子中,您看到了,不必向 PHP 声明该变量的数据类型。 根据变量被设置的方式,PHP 会自动地把变量转换为正确的数据类型。 在强类型的编程语言中,您必须在使用前声明变量的类型和名称。 在 PHP 中,变量会在使用时被自动声明。 变量的命名规则 ​ 变量名必须以字母或下划线 "_" 开头。 ​ 变量名只能包含字母数字字符以及下划线。 ​ 变量名不能包含空格。如果变量名由多个单词组成,那么应该使用下划线进行分隔(比如 $my_string),或者以大写字母开头(比如 $myString)。 字符串变量用于存储并处理文本片段。 PHP 中的字符串 字符串变量用于包含字符串的值。 在本教程中,我们打算介绍几个在 PHP 中用于操作字符串的最常用的函数和运算符。 在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。 在下面,PHP 脚本把字符串 "Hello World" 赋值给名为 $txt 的字符串变量: 以上代码的输出: Hello World 现在,让我们试着使用不同的函数和运算符来操作我们的字符串。 并置运算符(Concatenation Operator) 在 PHP 中,只有一个字符串运算符。 并置运算符 (.) 用于把两个字符串值连接起来。 要把两个变量连接在一起,请使用这个点运算符 (.) : 以上代码的输出: Hello World 1234 您可以看到,我们在上面的例子中使用了两次并置运算符。这是由于我们需要插入第三个字符串。 为了分隔这两个变量,我们在 $txt1 与 $txt2 之间插入了一个空格。 使用 strlen() 函数 strlen() 函数用于计算字符串的长度。 让我们算出字符串 "Hello world!" 的长度: 以上代码的输出: 12 字符串的长度信息常常用在循环或其他函数中,因为那时确定字符串何时结束是很重要的(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环)。 使用 strpos() 函数 strpos() 函数用于在字符串内检索一段字符串或一个字符。 如果在字符串中找到匹配,该函数会返回第一个匹配的位置。如果未找到匹配,则返回 FALSE。 让我们试一下,是不是能在字符串中找到子字符串 "world": 以上代码的输出是: 6 正如您看到的,在我们的字符串中,字符串 "world" 的位置是 6。返回 6 而不是 7,是由于字符串中的首个位置的 0,而不是 1。 完整的 PHP String 参考手册 如需完整的字符串函数参考手册,请访问我们的 PHP String 参考手册。 这个手册提供了每个函数的简要描述和实例! 运算符用于对值进行运算. PHP 运算符 本部分列出了在 PHP 中使用的各种运算符: 算数运算符 运算符 说明 例子 结果 + Addition x=2 x+2 4 - Subtraction x=2 5-x 3 * Multiplication x=4 x*5 20 / Division 15/5 5/2 3 2.5 % Modulus (division remainder) 5%2 10%8 10%2 1 2 0 ++ Increment x=5 x++ x=6 -- Decrement x=5 x-- x=4 赋值运算符 运算符 说明 例子 = x=y x=y += x+=y x=x+y -= x-=y x=x-y *= x*=y x=x*y /= x/=y x=x/y .= x.=y x=x.y %= x%=y x=x%y 比较运算符 运算符 说明 例子 == is equal to 5==8 returns false != is not equal 5!=8 returns true > is greater than 5>8 returns false < is less than 5<8 returns true >= is greater than or equal to 5>=8 returns false <= is less than or equal to 5<=8 returns true 逻辑运算符 运算符 说明 例子 && and x=6 y=3 (x < 10 && y > 1) returns true || or x=6 y=3 (x==5 || y==5) returns false ! not x=6 y=3 !(x==y) returns true if、elseif 以及 else 语句用于执行基于不同条件的不同动作。 条件语句 当您编写代码时,您常常需要为不同的判断执行不同的动作。 您可以在代码中使用条件语句来完成此任务。 if...else 语句 在条件成立时执行一块代码,条件不成立时执行另一块代码 elseif 语句 与 if...else 配合使用,在若干条件之一成立时执行一个代码块 If...Else 语句 如果您希望在某个条件成立时执行一些代码,在条件不成立时执行另一些代码,请使用 if....else 语句。 语法 if (condition) code to be executed if condition is true; else code to be executed if condition is false; 实例 如果当前日期是周五,下面的代码将输出 "Have a nice weekend!",否则会输出 "Have a nice day!": 如果需要在条件成立或不成立时执行多行代码,应该把这些代码行包括在花括号中: "; echo "Have a nice weekend!"; echo "See you on Monday!"; } ?> ElseIf 语句 如果希望在多个条件之一成立时执行代码,请使用 elseif 语句: 语法 if (condition) code to be executed if condition is true; elseif (condition) code to be executed if condition is true; else code to be executed if condition is false; 实例 如果当前日期是周五,下面的例子会输出 "Have a nice weekend!",如果是周日,则输出 "Have a nice Sunday!",否则输出 "Have a nice day!": PHP 中的 Switch 语句用于执行基于多个不同条件的不同动作。 Switch 语句 如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。 使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。 语法 switch (expression) { case label1: code to be executed if expression = label1; break; case label2: code to be executed if expression = label2; break; default: code to be executed if expression is different from both label1 and label2; } 实例 工作原理: 1.​ 对表达式(通常是变量)进行一次计算 2.​ 把表达式的值与结构中 case 的值进行比较 3.​ 如果存在匹配,则执行与 case 关联的代码 4.​ 代码执行后,break 语句阻止代码跳入下一个 case 中继续执行 5.​ 如果没有 case 为真,则使用 default 语句 数组能够在单独的变量名中存储一个或多个值。 什么是数组? 在使用 PHP 进行开发的过程中,或早或晚,您会需要创建许多相似的变量。 无需很多相似的变量,你可以把数据作为元素存储在数组中。 数组中的元素都有自己的 ID,因此可以方便地访问它们。 有三种数组类型: 数值数组 带有数字 ID 键的数组 关联数组 数组中的每个 ID 键关联一个值 多维数组 包含一个或多个数组的数组 数值数组 数值数组存储的每个元素都带有一个数字 ID 键。 可以使用不同的方法来创建数值数组: 例子 1 在这个例子中,会自动分配 ID 键: $names = array("Peter","Quagmire","Joe"); 例子 2 在这个例子中,我们人工分配的 ID 键: $names[0] = "Peter"; $names[1] = "Quagmire"; $names[2] = "Joe"; 可以在脚本中使用这些 ID 键: 以上代码的输出: Quagmire and Joe are Peter's neighbors 关联数组 关联数组,它的每个 ID 键都关联一个值。 在存储有关具体命名的值的数据时,使用数值数组不是最好的做法。 通过关联数组,我们可以把值作为键,并向它们赋值。 例子 1 在本例中,我们使用一个数组把年龄分配给不同的人: $ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34); 例子 2 本例与例子 1 相同,不过展示了另一种创建数组的方法: $ages['Peter'] = "32"; $ages['Quagmire'] = "30"; $ages['Joe'] = "34"; 可以在脚本中使用 ID 键: 以上脚本的输出: Peter is 32 years old. 多维数组 在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数组,以此类推。 例子 1 在本例中,我们创建了一个带有自动分配的 ID 键的多维数组: $families = array ( "Griffin"=>array ( "Peter", "Lois", "Megan" ), "Quagmire"=>array ( "Glenn" ), "Brown"=>array ( "Cleveland", "Loretta", "Junior" ) ); 如果输出这个数组的话,应该类似这样: Array ( [Griffin] => Array ( [0] => Peter [1] => Lois [2] => Megan ) [Quagmire] => Array ( [0] => Glenn ) [Brown] => Array ( [0] => Cleveland [1] => Loretta [2] => Junior ) ) 例子 2 让我们试着显示上面的数组中的一个单一的值: echo "Is " . $families['Griffin'][2] . " a part of the Griffin family?"; 以上代码的输出: Is Megan a part of the Griffin family? PHP 中的循环语句用于执行相同的代码块指定的次数。 循环 在您编写代码时,您经常需要让相同的代码块运行很多次。您可以在代码中使用循环语句来完成这个任务。 在 PHP 中,我们可以使用下列循环语句: while 只要指定的条件成立,则循环执行代码块 do...while 首先执行一次代码块,然后在指定的条件成立时重复这个循环 for 循环执行代码块指定的次数 foreach 根据数组中每个元素来循环代码块 while 语句 只要指定的条件成立,while 语句将重复执行代码块。 语法 while (condition) code to be executed; 例子 下面的例子示范了一个循环,只要变量 i 小于或等于 5,代码就会一直循环执行下去。循环每循环一次,变量就会递增 1: "; $i++; } ?> do...while 语句 do...while 语句会至少执行一次代码 - 然后,只要条件成立,就会重复进行循环。 语法 do { code to be executed; } while (condition); 例子 下面的例子将对 i 的值进行一次累加,然后,只要 i 小于 5 的条件成立,就会继续累加下去: "; } while ($i<5); ?> for 语句 如果您已经确定了代码块的重复执行次数,则可以使用 for 语句。 语法 for (initialization; condition; increment) { code to be executed; } 注释:for 语句有三个参数。第一个参数初始化变量,第二个参数保存条件,第三个参数包含执行循环所需的增量。如果 initialization 或 increment 参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为 true 或者 false。 例子 下面的例子会把文本 "Hello World!" 显示 5 次: "; } ?> foreach 语句 foreach 语句用于循环遍历数组。 每进行一次循环,当前数组元素的值就会被赋值给 value 变量(数组指针会逐一地移动) - 以此类推。 语法 foreach (array as value) { code to be executed; } 例子 下面的例子示范了一个循环,这个循环可以输出给定数组的值: "; } ?> PHP 的真正威力源自于它的函数。 在 PHP 中,提供了超过 700 个内建的函数。 PHP 函数 在本教程中,我们将为您讲解如何创建自己的函数。 如需内建函数的参考和实例,请访问我们的 PHP 参考手册。 创建 PHP 函数 函数是一种可以在任何被需要的时候执行的代码块。 创建 PHP 函数: 1.​ 所有的函数都使用关键词 "function()" 来开始 2.​ 命名函数 - 函数的名称应该提示出它的功能。函数名称以字母或下划线开头。 3.​ 添加 "{" - 开口的花括号之后的部分是函数的代码。 4.​ 插入函数代码 5.​ 添加一个 "}" - 函数通过关闭花括号来结束。 例子 一个简单的函数,在其被调用时能输出我的名称的: 使用 PHP 函数 现在,我们要在 PHP 脚本中使用这个函数了: "; echo "My name is "; writeMyName(); echo ".
That's right, "; writeMyName(); echo " is my name."; ?> 以上代码的输出: Hello world! My name is David Yang. That's right, David Yang is my name. PHP 函数 - 添加参数 我们的第一个函数是一个非常简单的函数。它只能输出一个静态的字符串。 通过可以添加参数,我们向函数添加更多的功能。参数类似一个变量。 您可能注意到了,函数名称后面有一个括号,比如 writeMyName()。参数就是在括号中规定的。 例子 1 下面的例子讲输出不同的名字,但姓是相同的: "; } echo "My name is "; writeMyName("David"); echo "My name is "; writeMyName("Mike"); echo "My name is "; writeMyName("John"); ?> 上面的代码的输出: My name is David Yang. My name is Mike Yang. My name is John Yang. 例子 2 下面的函数有两个参数: "; } echo "My name is "; writeMyName("David","."); echo "My name is "; writeMyName("Mike","!"); echo "My name is "; writeMyName("John","..."); ?> 上面的代码的输出: My name is David Yang. My name is Mike Yang! My name is John Yang... PHP 函数 - 返回值 函数也能用于返回值。 例子 以上代码的输出: 1 + 16 = 17 PHP 表单处理 表单实例:
Name: Age:
上面的 HTML 页面实例包含了两个输入框和一个提交按钮。当用户填写该表单并单击提交按钮时,表单的数据会被送往 "welcome.php" 这个文件。 "welcome.php" 文件类似这样: Welcome .
You are years old. 上面这个脚本的输出样本类似这样: Welcome John. You are 28 years old. 我们将在下一章解释 PHP $_GET 和 $_POST。 表单验证 应该在任何可能的时候对用户输入进行验证。客户端的验证速度更快,并且可以减轻服务器的负载。 不过,任何流量很高以至于不得不担心服务器资源的站点,也有必要担心站点的安全性。如果表单访问的是数据库,就非常有必要采用服务器端的验证。 在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。 $_GET 变量用于收集来自 method="get" 的表单中的值。 $_GET 变量 $_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。 $_GET 变量用于收集来自 method="get" 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。 例子
Name: Age:
当用户点击提交按钮时,发送的 URL 会类似这样: http://www.w3school.com.cn/welcome.php?name=Peter&age=37 "welcome.php" 文件现在可以通过 $_GET 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_GET 数组中的 ID 键): Welcome .
You are years old! 为什么使用 $_GET? 注释:在使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。 注释:HTTP GET 方法不适合大型的变量值;值是不能超过 100 个字符的。 $_REQUEST 变量 PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。 PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。 例子 Welcome .
You are years old! $_POST 变量用于收集来自 method="post" 的表单中的值。 $_POST 变量 $_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。 $_POST 变量用于收集来自 method="post" 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。 例子
Enter your name: Enter your age:
当用户点击提交按钮,URL 不会含有任何表单数据,看上去类似这样: http://www.w3school.com.cn/welcome.php "welcome.php" 文件现在可以通过 $_POST 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_POST 数组中的 ID 键): Welcome .
You are years old! 为什么使用 $_POST? ​ 通过 HTTP POST 发送的变量不会显示在 URL 中。 ​ 变量没有长度限制。 不过,由于变量不显示在 URL 中,所有无法把页面加入书签。 $_REQUEST 变量 PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。 PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。 例子 Welcome .
You are years old! PHP 的 date() 函数用于格式化时间或日期。 PHP Date() 函数 PHP Date() 函数可把时间戳格式化为可读性更好的日期和时间。 语法 date(format,timestamp) 参数 描述 format 必需。规定时间戳的格式。 timestamp 可选。规定时间戳。默认是当前的日期和时间。 PHP 日期 - 什么是时间戳(Timestamp)? 时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数。它也被称为 Unix 时间戳(Unix Timestamp)。 PHP 日期 - 格式化日期 date() 函数的第一个参数规定了如何格式化日期/时间。它使用字母来表示日期和时间的格式。这里列出了一些可用的字母: ​ d - 月中的天 (01-31) ​ m - 当前月,以数字计 (01-12) ​ Y - 当前的年(四位数) 您可以在我们的 PHP Date 参考手册中,找到格式参数中可以使用的所有字母。 可以在字母之间插入其他字符,比如 "/"、"." 或者 "-",这样就可以增加附加格式了: "; echo date("Y.m.d"); echo "
"; echo date("Y-m-d"); ?> 以上代码的输出类似这样: 2006/07/11 2006.07.11 2006-07-11 PHP 日期 - 添加时间戳 date() 函数的第二个参数规定了一个时间戳。此参数是可选的。如果您没有提供时间戳,当前的时间将被使用。 在我们的例子中,我们将使用 mktime() 函数为明天创建一个时间戳。 mktime() 函数可为指定的日期返回 Unix 时间戳。 语法 mktime(hour,minute,second,month,day,year,is_dst) 如需获得某一天的时间戳,我们只要设置 mktime() 函数的 day 参数就可以了: 以上代码的输出类似这样: 明天是 2006/07/12 PHP 日期 - 参考手册 如需更多有关 PHP 日期函数的信息,请访问 W3School 为您提供的 PHP Date 参考手册。 服务器端引用 (SSI) 用于创建可在多个页面重复使用的函数、页眉、页脚或元素。 服务器端引用(Server Side Includes) 通过 include() 或 require() 函数,您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内容。除了它们处理错误的方式不同之外,这两个函数在其他方面都是相同的。include() 函数会生成一个警告(但是脚本会继续执行),而 require() 函数会生成一个致命错误(fatal error)(在错误发生后脚本会停止执行)。 这两个函数用于创建可在多个页面重复使用的函数、页眉、页脚或元素。 这会为开发者节省大量的时间。这意味着您可以创建供所有网页引用的标准页眉或菜单文件。当页眉需要更新时,您只更新一个包含文件就可以了,或者当您向网站添加一张新页面时,仅仅需要修改一下菜单文件(而不是更新所有网页中的链接)。 include() 函数 include() 函数可获得指定文件中的所有文本,并把文本拷贝到使用 include 函数的文件中。 例子 1 假设您拥有一个标准的页眉文件,名为 "header.php"。如需在页面中引用这个页眉文件,请使用 include() 函数,就像这样:

Welcome to my home page

Some text

例子 2 现在,假设我们有一个在所有页面上使用的标准菜单文件。请看下面这个 "menu.php": Home | About Us | Contact Us 三个文件,"default.php"、"about.php" 以及 "contact.php" 都引用了 "menu.php" 文件。这是 "default.php" 中的代码:

Welcome to my home page

Some text

如果您在浏览器中查看 "default.php" 的源代码,应该类似这样: Home | About Us | Contact Us

Welcome to my home page

Some text

同时,当然,我们也将用相同的方法处理 "about.php" 和 "contact.php"。通过使用引用文件,在您需要重命名链接、更改链接顺序或向站点添加另一张网页时,只要简单地更新 "menu.php" 文件中的文本即可。 require() 函数 require() 函数与 include() 相同,不同的是它对错误的处理方式。 include() 函数会生成一个警告(但是脚本会继续执行),而 require() 函数会生成一个致命错误(fatal error)(在错误发生后脚本会停止执行)。 如果在您通过 include() 引用文件时发生了错误,会得到类似下面这样的错误消息: PHP 代码: 错误消息: Warning: include(wrongFile.php) [function.include]: failed to open stream: No such file or directory in C:\home\website\test.php on line 5 Warning: include() [function.include]: Failed opening 'wrongFile.php' for inclusion (include_path='.;C:\php5\pear') in C:\home\website\test.php on line 5 Hello World! 请注意,echo 语句依然被执行了!这是因为警告不会中止脚本的执行。 现在,让我们使用 require() 函数运行相同的例子。 PHP 代码: 错误消息: Warning: require(wrongFile.php) [function.require]: failed to open stream: No such file or directory in C:\home\website\test.php on line 5 Fatal error: require() [function.require]: Failed opening required 'wrongFile.php' (include_path='.;C:\php5\pear') in C:\home\website\test.php on line 5 由于在致命错误发生后终止了脚本的执行,因此 echo 语句不会执行。 正因为在文件不存在或被重命名后脚本不会继续执行,因此我们推荐使用 require() 而不是 include()。 fopen() 函数用于在 PHP 中打开文件。 打开文件 fopen() 函数用于在 PHP 中打开文件。 此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件: 文件可能通过下列模式来打开: 模式 描述 r 只读。在文件的开头开始。 r+ 读/写。在文件的开头开始。 w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。 w+ 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。 a 追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。 a+ 读/追加。通过向文件末端写内容,来保持文件内容。 x 只写。创建新文件。如果文件以存在,则返回 FALSE。 x+ 读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。 注释:如果 fopen() 无法打开指定文件,则返回 0 (false)。 例子 如果 fopen() 不能打开指定的文件,下面的例子会生成一段消息: 关闭文件 fclose() 函数用于关闭打开的文件。 检测 End-of-file feof() 函数检测是否已达到文件的末端 (EOF)。 在循环遍历未知长度的数据时,feof() 函数很有用。 注释:在 w 、a 以及 x 模式,您无法读取打开的文件! if (feof($file)) echo "End of file"; 逐行读取文件 fgets() 函数用于从文件中逐行读取文件。 注释:在调用该函数之后,文件指针会移动到下一行。 例子 下面的例子逐行读取文件,直到文件末端为止: "; } fclose($file); ?> 逐字符读取文件 fgetc() 函数用于从文件逐字符地读取文件。 注释:在调用该函数之后,文件指针会移动到下一个字符。 例子 下面的例子逐字符地读取文件,直到文件末端为止: PHP Filesystem 参考手册 如需完整的 PHP 文件系统参考手册,请访问 W3School 提供的 PHP Filesystem 参考手册。 通过 PHP,可以把文件上传到服务器。 创建一个文件上传表单 允许用户从表单上传文件是非常有用的。 请看下面这个供上传文件的 HTML 表单:

请留意如下有关此表单的信息:
标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"。 标签的 type="file" 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。 注释:允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。 创建上传脚本 "upload_file.php" 文件含有供上传文件的代码: 0) { echo "Error: " . $_FILES["file"]["error"] . "
"; } else { echo "Upload: " . $_FILES["file"]["name"] . "
"; echo "Type: " . $_FILES["file"]["type"] . "
"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
"; echo "Stored in: " . $_FILES["file"]["tmp_name"]; } ?> 通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。 第一个参数是表单的 input name,第二个下标可以是 "name", "type", "size", "tmp_name" 或 "error"。就像这样: ​ $_FILES["file"]["name"] - 被上传文件的名称 ​ $_FILES["file"]["type"] - 被上传文件的类型 ​ $_FILES["file"]["size"] - 被上传文件的大小,以字节计 ​ $_FILES["
本文档为【PHP初高级】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_946420
暂无简介~
格式:doc
大小:454KB
软件:Word
页数:78
分类:互联网
上传时间:2011-01-04
浏览量:17