阿里云新用户优惠

第十二章 PHP操作MySQL数据库

一、MySQL数据库简介 MySQL 被广泛地应用在 互联网 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,使得很多公司都采用 MySQL 数据库以降低成本。 MySQL 数据库可以称得上是目前运行速度最快的 SQL 语言数据库之一。除了具有许多其他数据库所不具备的功能外,MySQL 数据库还是一种完全免费的产品,用户可以直接通过网络下载 MySQL 数据库,而不必支付任何费用。 1、MySQL 特点 功能强大:MySQL 中提供了多种数据库存储引擎,各引擎各有所长,适用于不同的应用场合,用户可以选择最合适的引擎以得到最高性能,可以处理每天访问量超过数亿的高强度的搜索 Web 站点。MySQL5 支持事务、视图、存储过程、触发器等。 支持跨平台:MySQL 支持至少 20 种以上的开发平台,包括 Linux、Windows、FreeBSD 、IBMAIX、AIX、FreeBSD 等。这使得在任何平台下编写的程序都可以进行移植,而不需要对程序做任何的修改。 运行速度快:高速是 MySQL 的显著特性。在 MySQL 中,使用了极快的 B 树磁盘表(MyISAM)和索引压缩;通过使用优化的单扫描多连接,能够极快地实现连接;SQL 函数使用高度优化的类库实现,运行速度极快。 支持面向对象:PHP 支持混合编程方式。编程方式可分为纯粹面向对象、纯粹面向过程、面句对象与面向过程混合 3 种方式。 安全性高:灵活和安全的权限与密码系统,允许基本主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码的安全。 成本低:MySQL 数据库是一种完全免费的产品,用户可以直接通过网络下载。 支持各种开发语言:MySQL 为各种流行的程序设计语言提供支持,为它们提供了很多的 API 函数,包括 PHP、ASP.NET、Java、Eiffel、Python、Ruby、Tcl、C、C++、Perl 语言等。 数据库存储容量大:MySQL 数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,而不是由 MySQL 内部限制决定的。InnoDB 存储引擎将 InnoDB 表保存在一个表空间内,该表空间可由数个文件创建,表空间的最大容量为 64TB,可以轻松处理拥有上千万条记录的大型数据库。 支持强大的内置函数:PHP 中提供了大量内置函数,几乎涵盖了 Web 应用开发中的所有功能。它内置了数据库连接、文件上传等功能,MySQL 支持大量的扩展库,如 MySQLi 等,可以为快速开发 Web 应用提供便利。 2、数据库在 Web 开发中的重要地位 归根结底,动态网站都是对数据进行操作,我们平时浏览网页时,会发现网页的内容会经常变化,而页面的主体结构框架没变,新闻就是一个典型。这是因为我们将新闻存储在了数据库中,用户在浏览时,程序就会根据用户所请求的新闻编号,将对应的新闻从数据库中读取出来,然后再以特定的格式响应给用户。

阅读更多...

阿里云新用户优惠

第十一章 PHP会话控制

一、会话控制简述 会话控制是一种面向连接的可靠通信方式,通常根据会话控制记录判断用户登录的行为。例如,当我们登录某个邮箱系统以后,可以在其中完成查看邮件、收信、发信等操作,这些操作有可能需要访问多个页面来完成。 在同一个系统上,多个页面之间互相切换时,还能保持用户的登录状态,并且访问的都是用户自己的信息。这种能够在网站中跟踪一个用户,并且可以处理在同一个网站中同一个用户在多个页面共享数据的机制,都需要使用会话控制的思想完成。 1、为什么要使用会话控制 我们在浏览网页时,访问每一个 Web 页面都需要使用到“HTTP 协议”,而 HTTP 协议是无状态协议,也就是说 HTTP 协议没有一个内建机制来维护两个事务之间的状态。当一个用户请求一个页面以后,再请求同一个网站上的另外一个页面时,HTTP 协议不能告诉我们这两个请求是来自同一个用户,会被当做独立的请求,而并不会将这两次访问联系在一起。 2、会话控制的方式 由于 HTTP 是无状态的协议,所以不能维护两个事务之间的状态。PHP 系统为了防止这种情况的发生,提供了如下三种网页之间传递数据的方法。 使用超链接或者 header() 函数,并在 URL 的 GET 请求中附加参数的形式,将数据从一个页面转向另一个 PHP 脚本中。也可以通过网页中的各种隐藏表单来储存使用者的资料,并将这些信息在提交表单时传递给服务器中的 PHP 脚本; 使用 Cookie 将用户的状态信息存放在浏览器中,并通过浏览器来存取 Cookie 中的信息; 相对于 Cookie 还可以使用 Session,将访问者的状态信息存放于服务器之中,让其他程序能透过服务器中的文件或数据库,来存取使用者的信息。 二、Cookie会话技术 Cookie 是在 HTTP 协议下,服务器或脚本用来维护客户端上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息。 有些 Cookie 是临时的,有些则是持续的。临时的 Cookie 只在浏览器上保存一段规定的时间,一旦超过规定的时间,该 Cookie 就会被系统清除。 1、Cookie 的主要用途 服务器可以利用 Cookie 包含信息的任意性来筛选并维护这些信息,以判断 HTTP 传输中的状态。Cookie 最典型的应用是判定注册用户是否已经登录网站,同时用户可能也会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是 Cookie 的功用。 另一个重要应用场合就是商城类网站的“购物车”功能。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入 Cookie,以便在最后付款时提取信息。 2、Cookie 的生命周期 Cookie 可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,如果手动删除 Cookie 就需要重新登陆了)。而还有一些 Cookie 在用户退出会话的时候就被删除了,这样可以有效保护个人隐私。

阅读更多...

阿里云新用户优惠

第十章 PHP面向对象

一、面向对象的介绍 1、类和对象的发展(从面向过程到面向对象) 最初的计算机语言只有基本变量(类似基本数据类型),用来保存数据。但是数据多了怎么办?成千上万的数据怎么处理?于是有了数组的概念,通过数组将这同类型的数据进行组织。后来,数据不仅多且复杂了,而且对数据的操作(指的就是函数)也频繁了,但结构体只包含了数据,没有包含对数据操作的方法,于是类和对象产生了。也就是说,面向过程的数据和方法是分离的,而面向对象的数据和方法集成到了一起,便于扩展。 对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,可能需要面向过程的思路去处理。如开车(简单事物),可以用一系列线性过程来描述;但是造车(复杂事物),就无法使用简单的线性思维来解决了。这时可以使用面向对象的思想,将造车看作车壳、发动机、车轮等对象的组合,从宏观上把握造车过程,而不是拘泥于从哪个小零件开始造起。 面向对象和面向过程的总结: 都是解决问题的思维方式,都是代码组织的方式。 解决简单问题可以使用面向过程。 解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程。 面向对象的思考方式:遇到复杂问题,先从问题中找名词,然后确立这些名词哪些可以作为类,再根据问题需求确定类的属性和方法,以此来理清类之间的关系。 2、面向对象的基本特征 面向对象编程具有封装、继承、多态三大特性,它们迎合了编程中注重代码重用性、灵活性和可扩展性的需要,奠定了面向对象在编程中的地位。 封装 封装就是将一个类的使用和实现分开,只保留有限的接口(方法)与外部联系。对于用到该类的开发人员,只要知道这个类该如何使用即可,而不用去关心这个类是如何实现的。这样做可以让开发人员更好地把精力集中起来专注于别的事情,同时也避免了程序之间的相互依赖而带来的不便。 例如,在使用计算机时,我们并不需要将计算机拆开了解它每个部件的具体用处,只需要按下电源键就能将计算机启动,这就体现了封装的好处。 继承 继承就是派生类(子类)自动继承一个或多个基类(父类)中的属性与方法,并可以重写或添加新的属性或方法。继承这个特性简化了对象和类的创建,增加了代码的重用性。 例如,已经定义了 A 类,接下来准备定义 B 类,而 B 类中有很多属性和方法与 A 类相同,那么就可以用 B 类继承 A 类,这样就不用再在 B 类中定义 A 类中已有的属性和方法,从而可以在很大程度上提高程序的开发效率。 继承分为单继承和多继承,PHP 目前只支持单继承,也就是说一个子类有且只有一个父类。 多态 对象的状态是多变的。一个对象相对于同一个类的另一个对象来说,它们拥有的属性和方法虽然相同,但却可以有着不同的状态。另外,一个类可以派生出若干个子类,这些子类在保留了父对象的某些属性和方法的同时,也可以定义一些新的方法和属性,甚至于完全改写父类中的某些已有的方法。多态增强了软件的灵活性和重用性。 二、创建类、属性和方法 1、定义类 在 PHP 中,可以使用 class 关键字加类名的方式定义一个类,然后用大括号{ }将在类体中定义类的属性和方法包裹起来,类的语法格式如下: class 类名{} 2、成员属性 在类中直接声明的变量称为成员属性(也可以称为成员变量),可以在类中声明多个变量,即对象中可以有多个成员属性,每个变量都存储对象不同的属性信息。语法格式如下: 访问权限修饰符 属性名称 = 属性值; 成员属性的类型可以是 PHP 中的标量类型和复合类型,所以也可以是其他类实例化的对象,但在类中使用资源和空类型是没有意义的。 前面我们绍过,声明变量时不需要任何关键字修饰,但是在类中声明成员属性时,变量前面一定要使用一个关键字来修饰,例如 public、private,static 等,但这些关键字修饰的变量都具有一定的意义。如果不需要有特定意义的修饰,可以使用“var”关键字,一旦成员属性有其他的关键字修饰就需要去掉“var”。 常用访问权限修饰符及其含义如下所示: public:公共的,在类的内部、子类中或者类的外部都可以使用,不受限制; protected:受保护的,在类的内部和子类中可以使用,但不能在类的外部使用; private:私有的,只能在类的内部使用,在类的外部或子类中都无法使用。 <?php class Preson{ public $name; public $age = 19; private $gender = "男"; } //外部调用 $p = new Preson(); echo $p->age; echo $p->gender; ?

阅读更多...

阿里云新用户优惠

第九章 PHP时间和日期

一、PHP设置时区 在 PHP 中是通过日期和时间函数来获取日期和时间的。日期和时间函数依赖于服务器的时间设置,服务器的时间设置默认是格林尼治时间(零时区时间),如果不特意设置时间为特定时区时间,那么通过 PHP 有关函数获取到的时间为零时区的时间,比北京时间少 8 个小时。 在 PHP 中设置时区的方法有三种,下面来分别介绍一下。 1、在配置文件中设置 打开PHP 安装目录下的 php.ini 文件,在文件中搜索date.timezone,然后设置: date.timezone = Asia/Shanghai 注意如果前面有;需要去掉。 时区标识符可以通过访问https://www.php.net/manual/zh/timezones.php来查看 下面列举了一些常用的时区标识符及其含义: Asia/Shanghai —— 上海 Asia/Chongqing —— 重庆 Asia/Urumqi —— 乌鲁木齐 Asia/Hong_Kong —— 香港 Asia/Macao —— 澳门 Asia/Taipei —— 台北 Asia/Singapore —— 新加坡 PRC —— 中国时区 设置完成后需要重启服务器 <?php // 通过代码验证是否生效,与电脑时间一致说明成功 echo date('Y-m-d H:i:s',time()); ?> 2、使用 ini_set() 函数设置时区 PHP 中的 ini_set() 函数可以设置指定配置选项的值,这个配置选项会在脚本运行时保持新的值,并在脚本结束时恢复。函数的语法格式如下: ini_set($varname, $newvalue) $varname 为待修改的配置选项 $newvalue 为配置选项的新值 <?php ini_set('date.timezone', 'GMT'); echo '当前的格林尼治时间为:'.

阅读更多...

阿里云新用户优惠

第八章 图形图像处理

一、GD库的使用 1、GD库是什么 PHP 除了可以处理文本数据外,通过一个叫 GD 的 PHP 扩展库,PHP 还可以动态生成不同格式图像或者对已有图片进行加工处理。 GD 库是一个开源的用于创建图形图像的函数库,该函数库由C语言编写,可以在 Perl、PHP 等多种语言中调试运用。PHP 使用 GD 库可以制作出各类丰富的图形图像效果,如统计图,为图片添加水印以及生成动态图表等。 2、加载GD库 在php.ini文件,找到选项“;extension=php_gd2.dll”,将之前的分号删除,重新启动Apache服务器后,就可以使用GD2函数库了。目前PHP已将GD2函数库作为默认的扩展。 可以通过 phpinfo() 函数来获取 GD2 函数库的安装信息,验证 GD 库是否安装成功。 还可以通过打印 gd_info() 函数来验证 GD 库是否安装成功,如下所示: <?php phpinfo(); print_r(gd_info()); ?> 二、常见的图像处理 在PHP程序中处理图像的操作主要分为以下4个步骤: 创建画布。 在画布上绘制图形或输入文本。 保存并输出图形。 销毁图像资源。 1、创建背景图片 通常使用 imagecreate() 和 imagecreatetruecolor() 来创建指定的画布,它们的语法格式如下所示: imagecreate(int $width, int $height) — 创建一幅大小为 x和 y的图像(默认没有颜色,需要指定颜色) imagecreatetruecolor(int $width, int $height)— 创建一幅大小为 x和 y的图像(默认为黑色) 都是创建一幅大小为 x和 y的图像 imagecreate默认没有颜色,需要指定颜色 imagecreatetruecolor默认为黑色,设置颜色后需要填充 <?php header ('Content-Type: image/png'); $im = imagecreate(100, 50) or die("画布1创建失败!"); $img = imagecreatetruecolor(120, 20) or die('画布2创建失败!'); //区别 $im = imagecreate(100, 100); // $im = imagecreatetruecolor(100, 100); // 将背景设为红色 $red = imagecolorallocate($im, 255, 0, 0); // imagefill($im, 0, 0, $red); header('Content-type: image/png'); imagepng($im); imagedestroy($im); ?

阅读更多...

阿里云新用户优惠

实例 简单文件管理系统

一、项目介绍 1、实例图 2、代码目录结构 index.php 项目首页 footer.php 项目页脚 upload.php 文件上传处理页 search.php 查询页面 showFile.php 结果显示页 download.php 文件下载处理页 uploads 上传文件存储目录 3、相关函数 二、页面代码 1、 index.php 项目首页 <?php session_start(); function create_code($len = 4) { $seed = "ABCDE12345"; return substr(str_shuffle($seed), 0, $len);; } $code = create_code(); $_SESSION["user_code"] = $code; ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>文件管理系统</title> </head> <body> <form action="./upload.php" method="post" enctype="multipart/form-data"> <div> 姓名:<input type="text" name="xm"> </div> <div> 学号:<input type="text" name="xh"> </div> <div> 选择文件:<input type="file" name="upfile"> </div> <p> 验证码:<?

阅读更多...

阿里云新用户优惠

第七章 文件与目录访问操作

一、文件系统概述 在任何计算机设备中,各种数据、信息、程序主要以文件的形式储存。一个文件通常对应着磁盘上的一个或多个存储单元,利用目录可以有效地对文件进行区分和管理。负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统,从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索的系统,具体地说,它负责为用户建立文件,存入读出、修改、转储文件,控制文件的存取,当用户不再使用时删除文件等。 1、文件类型 PHP是以UNIX的文件系统为模型的,因此在Windows系统中我们只能获得“file”,“dir”或者“unknown”三种文件类型。而在UNIX系统中,我们可以获得“block”、“char”、“dir”、“fifo”、“file”、“link”和“ unknown”7种类型,各种文件类型的详细说明如下所示。 文件类型 描述 block 块设备文件,如磁盘分区、光驱等 char 字符设备是指在I/O传输过程中以字符为单位进行传输的设备,如键盘、打印机等 dir 目录类型。目录也是文件的一种。 fifo 命名管道,常用于将信息从一个进程传递到另一个进程。 file 普通文件类型 link 符号链接,是指向文件指针的指针,类似windows中的快捷方式 unknown 未知类型 <?php echo filetype("test.txt");//输出:file echo filetype("images");//输出:dir ?> 2、文件属性 在进行编程时,需要使用到文件的一些常见属性,如文件的大小、文件的类型、文件的修改时间、文件的访问时间和文件的权限等。PHP中提供了非常全面的用来获取这些属性的内置函数,如下所示。 文件类型 描述 file_existes($path|$filename) 检查文件或目录是否存在 filesize($filename) 获取文件的大小 is_readable($filename) 判断文件是否可读 is_writeable($filename) 判断文件是否可写 is_executable($filename) 判断文件是否可执行 filectime($filename) 获取文件的创建时间 fileatime($filename) 获取文件的最后访问时间 filemtime($filename) 获取文件的最后修改时间 stat($filename) 获取给定文件的大部分属性值,返回关于给定文件有用信息的数组 filetype($filename) 只读,返回文件的类型,如文件或文件夹 realpath($path) 返回文件的绝对路径 pathinfo($path) 以数组形式返回文件的路径和文件名信息 dirname($path) 返回文件相对于当前文件的路径信息 basename($path) 返回路径中的文件名部分 <?php $file = 'tang.txt'; echo "<br>文件名:" .basename($file); //echo "<br>文件名:".__FILE__; $patharr = pathinfo($file); echo "<br>文件扩展名:".

阅读更多...

阿里云新用户优惠

第六章 字符串处理与正则表达式

一、字符串操作 字符串是 PHP 中重要的数据类型之一。在 Web 开发中,很多情况下都需要对字符串进行处理和分析,通常将涉及字符串的格式化、字符串的连接与分割、字符串的比较、查找等一系列操作。用户和系统的交互也基本上是用文字来进行的,因此系统对文本信息,即字符串的处理非常重要。 PHP 中提供了大量用来处理字符串的内置函数,使用这些函数,可以在 PHP 程序中很方便地完成对字符串的各种操作。 1、字符串的定义与显示 字符串是由一对单引号或一对双引号包含的零个或多个字符组成的集合。 字符串的界定符有以下3种: 单引号' 双引号" 界定符<<< 字符串的显示可以使用echo()函数和print()函数。 2、字符串的格式化 PHP还提供了其他一些字符串格式化输出的函数。 printf() 语法:printf(string $format, mixed $args = ?, mixed $... = ?): int sprintf() 语法:sprintf(string $format, mixed ...$values): string vsprintf() 语法:vprintf(string $format, array $args): int format格式 %% - 返回一个百分号 % %b - 二进制数 %c - ASCII 值对应的字符 %d - 包含正负号的十进制数(负数、0、正数) %e - 使用小写的科学计数法(例如 1.2e+2) %E - 使用大写的科学计数法(例如 1.2E+2) %u - 不包含正负号的十进制数(大于等于 0)

阅读更多...

阿里云新用户优惠

实例 简单个人博客

一、项目介绍 1、实例图 2、代码目录结构 admin 后台目录 article.php 文章管理列表页 article_add.php 新增文章数据处理页 article_delete.php 删除文章数据处理页 article_edit.php 编辑文章显示页 article_update.php 修改文章数据处理页 footer.php 管理界面页脚 header.php 管理界面页头 index.php 新增文章显示界面 about.php 作者简介 article.php 文章内容页 bg.jpg 背景图 comment.php 评论显示页 comment_add.php 新增评论数据页 data.json 数据储存文件 footer.php 前台页脚 header.php 前台页头 index.php 博客首页 3、数据库结构 JSON是一种轻量级的数据交换格式,易于人阅读和编写。同时也易于机器解析和生成。 JSON有两种结构,一是“名称/值”对的集合,类似关联数组;二是值的有序列表,类似索引数组。 [ { "id": 1, //文章id "title": "王者荣耀:最强的全能射手", //文章标题 "describe": "哈喽大家好,在王者荣耀里...", //内容简介 "content": "在王者荣耀里,射手位置的热度总是高于其他位置,", //文章内容 "comments": [ //评论 { "name": "admin", //评论用户名称 "comment": "你好" //评论内容 } ] } ] 4、相关函数 json_decode() — 对 JSON 格式的字符串进行解码 //语法格式: json_decode( string $json, bool $assoc = false, int $depth = 512, int $options = 0 ): mixed //assoc 当该参数为 true 时,将返回 array 而非 object 。 $datas = json_decode($dataJson, true); json_encode() — 对变量进行 JSON 编码 //语法格式: json_encode( mixed $value, int $options = 0, int $depth = 512 ): string|false $data = json_encode($datas); file_get_contents() — 将整个文件读入一个字符串 //语法格式: file_get_contents( string $filename, bool $use_include_path = false, resource $context = ?

阅读更多...

阿里云新用户优惠

第五章 PHP数组

一、数组概述 1、数组的基本概念 数组是对大量数据进行有效组织和管理的手段之一,通过数组的强大功能,可以对大量性质相同的数据进行存储、排序、插入及删除等操作,从而可以有效地提高程序开发效率及改善程序的编写方式。 2、数组分类 在PHP中,数组既是一种数据类型,也是一种数据的组织与处理手段。数组有一维数组、二维数组、多维数组。但不管是一维数组还是多维数组都可以分为 数字索引数组 和 关联数组。 索引数组 数组的元素也可不定义键名,由PHP默认用索引号作为键名。 例:$A=array(5,8,4,6,9,7); 对于采用默认键名的数组,每个元素在数组中的索引号,也称为该元素的下标,数组的下标默认从0开始。 关联数组 数组中的每一个数据称为数组的一个元素,每一个元素都由两部分组成:元素名与元素值。其中,元素名称为“键名”,元素值称为“键值”。数组元素的键名由程序员自定义。 例如:$A = array("A" => 3, "B" => 5, "C" => 7, "D" => 9); 二、数组的处理 1、数组的创建与初始化 使用array()函数创建数组 ① $数组变量名 = array(key1 => value1, key2 => value2, …, keyN => valueN); ② $数组变量名 = array(value1, value2, …, valueN); ③ $数组变量名 = array(); ④ $数组变量名[下标] = 值; ⑤ $数组变量名[] = 值; 例子 echo '<pre>'; //1 $array = array("name" => "张同学", "xuehao" =>20201111111 , "gender" => "男"); var_dump($array); //2 $array = array("张同学", 20201111111 , "男"); var_dump($array); //3 $array = array(); var_dump($array); //4 $array[0] = "张同学"; $array[1] = 20201111111; $array[2] = "男"; var_dump($array); //5 $array[] = "张同学"; $array[] = 20201111111; $array[] = "男"; var_dump($array); //注意键名 $array = array( 1 => "张同学", 3 => 20201111111, "男"); var_dump($array); //注意键名和值 $array = array(1, 1, 1, 1, 8 => 1, 10, 4 => 2, 3 => 13); var_dump($array); //使用值 $array["键名"] echo "<br>"; echo $array[3]; 注意:如果定义了两个完全一样的键名,则后面的值会覆盖前面的值

阅读更多...

阿里云新用户优惠

第四章 PHP函数应用

一、函数的定义 定义:函数,是将一段完成特定任务的程序封装而成的独立代码块。它通过参数获取外界程序的数据,并通过返回值将函数中的运行结果,反馈给外界程序 优点:在程序设计过程中,经常需要在不同地方重复进行某种相同的运算操作如果每次都重新书写一次程序代码,不仅大大增加程序员的工作量,而且对程序后期的维护,也带来很大的不便,还会降低了程序的运行效率。将这些代码封装成函数以后,既可以简化代码结构,实现代码的重用,而且能够减少代码编写工作量与程序的后期维护。 分类:PHP中的函数,分为三类:系统函数、自定义函数以及变量函数。 二、常用系统函数 系统函数是PHP预先已经提供的函数,用户使用这些函数时,不需要再对函数进行定义,也不需关心实现其功能的内部程序,只需根据其参数需求,直接引用即可实现所需的功能。 1、数据检查函数 is_numeric()函数 is_numeric()函数用于检查数据是否为数字,其参数可以是一个变量也可以是一个标量。如果参数中的内容,全部都是数字(包括小数),函数的返回值是true,否则为false。 需要注意的是,is_numeric()只检查数据内容,不检查数据类型,只要数据内容是数字,无论它是数值型还是字符串型,is_numeric()都返回true。 <?php $A = 123; $B = "123"; if(is_numeric($A)){ echo "A是数字<br>"; } if(is_numeric($B)){ echo "B是数字<br>"; } ?> 为了检测表达式的值是否符合期望的数据类型,PHP提供了一组is_*()的内置函数,如果检测的值符合检测的数据类型,则返回true,否则返回false. 函数名称 功能描述 举例 is_bool() 检测是否属于布尔类型 is_bool(1 > 2) = true is_string() 检测是否属于字符串类型 is_string(“12ab”) = true is_float() 检测是否属于浮点类型 is_float(12.3) = true is_int() 检测是否属于整型 is_int(12) = true is_null() 检测是否属于空值 $a = null; is_null($a) = true is_array() 检测是否属于数组 $A = []; is_array($A) = true 2、时间日期函数 PHP中的时间日期,使用的是unix的时间戳机制,以格林威治时间1970-1-100: 00:00为0秒,向后以秒为单位累加计时,如1970-1-1 01:00:00的时间戳是3600。这与现实生活工作中的时间使用习惯区别很大,PHP为此提供了一系列时间日期的格式转换函数。

阅读更多...

阿里云新用户优惠

第三章 PHP流程控制结构

一、分支结构 掌握分支结构的方法 1、单向条件分支if if 语句是流程控制中最简单的一种。只判断某个条件是否为真,如果为真就执行特定的语句块。 语法格式如下: if (判断条件) { 语句块; } 例子 <?php $a = true; $b = false; if($a){ echo "变量a的值是真"; } if($b){ echo "变量b的值是假"; } //请问下面这句话会执行吗? if($b == false){ echo "变量b的值是假"; } ?> 2、双向条件分支else从句 if...else...else语句是if语句的从句,必须和if一起使用,不能单独存在。 语法格式如下: if (判断条件) { 语句块 1; } else { 语句块 2; } 例子 <?php $x = 30; $y = 20; if($x > $y){ echo "变量\$x大于变量\$y<br/>"; } else { echo "变量\$x小于变量\$y<br/>"; } echo "变量\$x和变量\$y,比较完毕。<br/>"; ?

阅读更多...

阿里云新用户优惠

第二章 PHP基础语法

一、PHP入门 掌握PHP语法风格,PHP标记和注释 1、第一个脚本程序 <!DOCTYPE html> <html> <head> <title>PHP程序</title> </head> <body> <?php echo "<h1>你好,这是第一个PHP脚本程序!</h1>"; ?> </body> </html> PHP 文件的默认扩展名是 “.php” PHP 文件中可以包含 html、CSS、JavaScript 代码 PHP 标记 开始标记 <?php 和 结束标记 ?> 中间写 PHP 代码 PHP 语句结束符 ;一条语句结束符,{}一个段落结束符 2、PHP语言标记风格 开始标记 <?php 和 结束标记 ?> 中间写 PHP 代码 当解析一个文件时,PHP 会寻找起始和结束标记,也就是告诉 PHP 开始和停止解析二者之间的代码。此种解析方式使得 PHP 可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被 PHP 解析器忽略。 php有4种标记方式: 标记方式 名称 描述 <?php //PHP代码 ?> XML风格,标准风格 推荐使用 <? //PHP代码 ?> 简短风格 PHP默认关闭 <scrpit language="php" //PHP代码 </scrpit> 脚本风格 PHP7已不支持 <% //PHP代码 %> ASP风格 PHP7已不支持 简短风格 在 php.

阅读更多...

阿里云新用户优惠

第一章 PHP简介与开发工具

一、PHP简介 1、基本概念 web的概念 WEB的英文单词的本意是蜘蛛网的意思,在计算机领域中是网页的意思。官方定义是指一个由许多互相连接的超文本文件组成的系统,通过互联网访问。 web的发展历史 从互联网开始崛起到现在,经历了从web1.0、2.0到web3.0的过程 Web1.0(信息共享)的主要特点在于用户单纯的获取信息 Web2.0(信息共建)更注重用户的交互作用,用户既是网站内容的浏览者,也是网站内容的制造者。 Web3.0(信息传承)通过第三方信息平台对多家网站的信息进行整合,用户在互联网上拥有自己的数据,并能在不同网站上使用 举例: Web1.0:来到一个餐馆,老板给你上了一盘番茄炒蛋 Web2.0:来到一个餐馆,你跟老板主动点了一份番茄炒蛋; Web3.0:来到一个餐馆,老板见到你就问,老规矩,还要番茄炒蛋? 静态页面和动态页面 静态页面:服务器不执行的页面 动态页面:服务器执行的页面 URL地址 1、url地址构成分析 由于80是Web服务器的默认端口号,因此可以省略URL中的“:80”即:http://www.jzlg.cn/index.html 2、端口和端口号 端口号的范围: 0-65535 3、域名解析过程 本质一台电脑访问另外一台电脑资源、寻址过程(IP地址、端口、域名、DNS) 在互联网上,IP地址是用来区分每台计算机的标识,但是IP记忆不友好,我们将IP地址取一个名字,一个IP对应一个名字,这个名字就称为域名。 访问过程: 步骤: ① 客户端输入域名(网址),在最近的机房做DNS解析(Domain Name Server),DNS解析就是将域名转化成IP地址 ② 通过IP地址访问服务器 4、本地DNS解析文件和目录 域名解析的时候会首先访问计算机本地上的hosts文件,如果匹配到了就不会再去请求DNS服务器了。 hosts文件 测试 小结:hosts文件用来做DNS解析 注:如果dns不生效,可以使用ipconfig /flushdns清理dns缓存 B/S和C/S架构 B/S(Browser/Server)架构:指的是浏览器/服务器端的交互 B/S架构则是将浏览器作为客户端,用户只需要安装一个浏览器,就可以访问各种网站的服务,如微博、百度搜索等,是将浏览器作为客户端。 C/S (Client/Server)架构:指的是客户端/服务器端的交互 客户端和服务器的交互,客户端软件是专门开发出来的,如QQ、微信、LOL,用户必须安装软件才能使用。CS的开发成本很高,客户端和服务器端都要开发。 BS相对于CS的好处是无需安装,只要有浏览器就可以访问,升级只需要升级服务器端就可以了 PHP运行于服务器端,既可以在C/S架构中为客户端软件提供服务器接口,比如为APP应用提供数据接口,也可以作为B/S架构来搭建动态网站,比如资讯类、新闻类的网站。本书主要基于B/S架构进行讲解。 前台和后台 前台:浏览器看到的界面 后台:管理员看到的界面 2、概述 PHP是Hypertext Preprocessor的缩写,(超文本预处理器)是一种在服务器端运行的开源的脚本语言。 在全球前100万的网站中,有超过70%的网站是使用PHP开发的。 3、PHP的优点 开源免费,这对中小企业来说开源节省一部分开支 面向对象,PHP的面向对象有了很大的改进,可以用来开发大型商业软件 快捷性,开发快,运行快,学习快,开发周期短,效率高 跨平台型,PHP可以运行在Windows、Linux、MacOs下 支持多种数据库,可以支持MsSQL、MySQL、Db2、Oracle、Access等 PHP中可嵌入HTML,编辑简单,实用性强,上手容易 这些优点使得PHP应用广泛,受到企业欢迎,很适合同学们学习 4、应用范围 那么学会PHP之后,大家可以将它应用在哪些领域呢? 网站相关的,包括中小型网站开发,大型网页业务逻辑结果展示,比如博客、企业网站等 WEB办公管理系统,比如学校科研管理系统、OA系统等 硬件管控软件的界面展示,比如物联网设备的状态展示 电子商务应用,比如微信公众号的开发 其他功能,包括WEB应用系统,多媒体系统,企业级应用的开发 小结:就业优势,国内市场需求大,入门快,入门后学其他语言更快,都是一样的套路,都是先基础语法,流程控制、函数、文件处理,数据库操作等等。

阅读更多...