+ PHP
文章平均质量分 50
null
王佳斌
商务合作请私信
展开
-
PHP设计模式 - 门面模式(Facade)通俗易懂 / 友好示例代码
前言门面模式(Facade)又称外观模式,用于为子系统中的一组接口提供一个一致的界面。门面模式定义了一个高层接口,这个接口使得子系统更加容易使用:引入门面角色之后,用户只需要直接与门面角色交互,用户与子系统之间的复杂关系由门面角色来实现,从而降低了系统的耦合度。打个比方,比如我们要在淘宝买东西,我基本上只需要鼠标点一些按钮就完成了。但是实际上网站的后台是 很多个子系统一起去完成 你购买商品的任务的,比如网站系统,购物车系统,订单系统,用户中心系统,支付系统。这些系统 对外通过了统一的接口,让你在原创 2020-08-27 10:45:22 · 3091 阅读 · 4 评论 -
PHP - 命名空间(namespace)概述及实例说明
https://www.php.net/manual/zh/language.namespaces.rationale.php原创 2020-08-26 17:54:14 · 2949 阅读 · 1 评论 -
更改 Nginx / Apache 默认网站根目录(php项目)
php项目上线放在服务器哪里php 项目上线后放在服务器的网站根目录里,Apache 的网站根目录为 /var/www/html,Nginx 的网站根目录为 /usr/share/nginx/html。更改Nginx的默认网站根目录Nginx 配置文件默认位于 /etc/nginx/nginx.conf一、修改 html 块中的 server 块,改为如下:http { server{ listen 80; server_name localho原创 2020-07-20 10:42:01 · 5842 阅读 · 0 评论 -
PHP 简单封装返回XML数据接口
如何生成XML?php 中生成 XML 数据,通常有两种方式:拼接字符串:顾名思义,将每段 xml 数据以字符串形式拼接到一起。系统类:使用 php 提供的类,domDocument / XMLWriter / SimpleXML。封装接口我们使用第一种方式(拼接字符串)来封装 XML数据接口,代码中有详细注释。<?php/** (PHP简单封装xml数据接口)* @...原创 2020-04-16 18:06:58 · 1844 阅读 · 2 评论 -
PHP 简单封装返回JSON数据接口
前言本文使用 php 来做一个简单的接口,客户端传入数据,该接口返回 JSON 格式数据。api.php<?php/** (PHP简单封装JSON数据接口)* @param integer $code 状态码* @param string $message 提示信息* @param array $data 数据* return json(string)*/ clas...原创 2020-04-16 16:20:49 · 6584 阅读 · 2 评论 -
PHP 类名::class含义
自 PHP 5.5 起,关键词 class 也可用于类名的解析。使用 ClassName::class 可以获取一个字符串,包含了类 ClassName 的完全限定名称。这对使用了命名空间的类尤其有用。<?phpnamespace ddd\vector;class Demo{ public function test() { // code....原创 2020-04-13 20:37:05 · 725 阅读 · 0 评论 -
PHP 引入外部模块文件的 4 种方式及区别详细总结
前言目前,php 有 4 个加载文件的语句:requireincludeinclude_oncerequire_once基本用法先来说一下基本语法及介绍,后面介绍四者区别。一、require()require() 一般放在 php 脚本的最前面,php 执行前就会先读入 require 指定引入的文件,包含并尝试执行引入的脚本文件。require 工作方式是提高 php 的...原创 2020-04-13 20:02:55 · 2952 阅读 · 0 评论 -
php 实现分页功能(class封装了功能)
前言分页是一个很常见的功能,我这里提供了分类类(class),用于前端页面中的四个按钮:首页下一页上一页尾页上面的演示非常不直观,但足可以证明这个类可以完成分页功能。完整的代码附有非常详细的注释,但需要有一定的 php 基础。<?php/** //TODO 分页类(前端需传递两个参数)* @请求方式: GET* @num: 每页要显示多少条数据* @sum...原创 2020-04-05 19:02:23 · 1767 阅读 · 0 评论 -
php 利用GD库实现一个验证码功能(封装成了函数可自定义配置验证码外观及功能)
前言使用 GD库来完成验证码功能非常简单,库中大量函数 API 堆在一起就成了这个功能,下面代码注释中详细介绍了每段代码的功能,非常适合新手。完整代码我把验证码功能 封装成了一个函数,因此可以 自定义配置,下面给出了完整代码及配置介绍。下面这段代码可以直接粘贴到浏览器打开预览,查看效果。<?php/** //TODO: 验证码参数配置(GD库解决方案)* @width...原创 2020-04-01 23:36:32 · 612 阅读 · 0 评论 -
php GD库生成图像无法在浏览器正常显示(中间只显示一个空心白方块)
擦除缓冲区除了在 header() 中设置显示编码类型之外,还应在前面加上 ob_clean() 清除缓冲区数据。ob_clean();//擦除缓冲区header('content-type:image/png');imagejpeg($image);然后,刷新浏览器,你会发现图像正常显示了。...原创 2020-04-01 23:16:57 · 1633 阅读 · 3 评论 -
php GD库的简单使用(创建图像及简单处理 / 保存图像文件 / 输出到浏览器)
前言GD 库是 PHP 处理图形的扩展库,GD 库提供了一系列用来处理图片的 API,使用 GD 库可以处理图片或者生成图片,还可以直接输入到浏览器中,也可以给图片加水印、做验证码等等。截至目前,如果你使用 phpstudy 集成的环境,那么 GD 库无需安装,如果你手动配置的 PHP 服务器,那么你需要繁琐的安装步骤,这里暂不做介绍。创建图像及简单处理下面,我们使用 GD 库提供的函数,...原创 2020-03-31 21:02:58 · 5447 阅读 · 0 评论 -
PHP 实现页面跳转的多种方式
一、使用 Header 函数例如,逻辑成立后,跳转到 loging.php 页面。<?phpHeader("Location: loging.php"); # URL也可以使用变量 ## Header("Location: $url"); ?>语法上需要注意 Location: 后面有一个空格,用法上需要格外注意:使用 Header 函数跳转页面时,切忌放在顶部...原创 2020-03-30 22:19:34 · 14348 阅读 · 3 评论 -
phpstudy 开启服务时提示端口80被占用(HTTP Error 404. The requested resource is not found)
前言电脑首次搭建环境时,在浏览器地址栏中输入 localhost 网页显示:HTTP Error 404. The requested resource is not found解决使用 win + R 打开运行,输入 services.msc,打开服务页面:接下来,找到服务列表中 SQL Server Reporting Services,把该服务停用关掉即可。...原创 2020-03-22 08:49:03 · 1605 阅读 · 0 评论 -
php 常用 header 头部定义集合
前言header() 函数向客户端发送原始的 HTTP 报头。header('HTTP/1.1 200 OK'); // ok 正常访问header('HTTP/1.1 404 Not Found'); //通知浏览器 页面不存在header('HTTP/1.1 301 Moved Permanently'); //设置地址被永久的重定向 301header('Location: htt...原创 2020-03-07 22:14:14 · 961 阅读 · 0 评论 -
【PHP】如何处理Ajax通过POST传递过来的数据
声明:index.html 与 info.php 处于同一级目录当传输一个参数时<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-s...原创 2020-03-07 15:16:14 · 1395 阅读 · 0 评论 -
php - 创建 cookie 与访问(会话控制)
前言由服务器发送到浏览器的变量,cookie 常用于识别用户,cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP 能够创建并取回 cookie 的值。setcookie()开始之前,先来看一下该函数,它向客户端发送一个 HTTP cookie。语法:setcookie(name, value, expire...原创 2020-03-01 20:13:49 · 3402 阅读 · 3 评论 -
php - 前端表单上传文件并保存到指定服务器目录
前言前端使用 from 表单以 POST 方式提交文件,php 进行处理后存储文件到指定目录。目录原创 2020-03-01 19:32:38 · 7276 阅读 · 0 评论 -
php 让函数的参数可有可无(可以不传递参数)
前言正常情况下,函数一旦声明参数,调用时就必须传入,否则会报错:function demo($e){ return $e;}echo demo();// Uncaught ArgumentCountError: Too few arguments to function xxxx()那么如何实现 想传参就传,不想传就不传呢?实现很简单,只需要 将形参指定默认值为空即可,...原创 2020-02-26 00:02:58 · 6241 阅读 · 0 评论 -
PHP 使用转义字符实现双引号中嵌套双引号(\")
前言最近有了这样一个需求,使用 PHP 输出 HTML + CSS,就像这样:<span style="color:rgb(186,20,87)"> Webpack </span>很简单,但遇到了 双引号嵌套问题,就像下面这样:echo "<span style="color:rgb(186,20,87)"> Webpack </span>...原创 2020-02-25 23:51:15 · 4162 阅读 · 0 评论 -
php 根据出生日月判断星座
前言注意:由于此函数使用了 each() 函数,故不支持 PHP7+ 环境下运行。该函数用于判断星座,通过传入日月参数来完成判断,语法如下。getConstellation($month, $day)$month:月(number)$day:日(number)code函数只完成了运算,并没有做太多参数判断及约束。function getConstellation($mon...原创 2020-02-25 20:52:54 · 4539 阅读 · 0 评论 -
php 实现根据身份证获取精准年龄
前言有时候,我们希望通过身份证来计算出年龄,那么下面我写的函数很适合。实现代码中已有详细注释。function getAge($id){# 1.从身份证中获取出生日期$id = $id;//身份证$birth_Date = strtotime(substr($id, 6, 8));//截取日期并转为时间戳# 2.格式化[出生日期]$Year = date('Y', $birt...原创 2020-02-24 17:56:56 · 2740 阅读 · 0 评论 -
PHP - $_SERVER
$_SERVER$_SERVER — 服务器和执行环境信息说明: 它是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。demo这个 API 主要是提供与返回服务器相关信息,我这里是本...原创 2020-02-22 21:59:40 · 2574 阅读 · 0 评论 -
php 图片上传($_FILES)
前言在开始图片上传前,我们先来看一下所需的全局数组 $_FILES API:语法:$_FILES["file"]["type"]参数说明:file:前端表单 input name 。type:可以是 “name”, “type”, “size”, “tmp_name” 或 “error”。type:$_FILES[“file”][“name”] - 被上传文件的名称$_F...原创 2020-02-22 21:52:24 · 7055 阅读 · 0 评论 -
PHP5 - 数组 (数值数组 / 关联数组 / 多维数组) 遍历及 array API
声明在 PHP 中使用 array() 函数创建声明一个数组:$arr = array('one', 'two', 'three');其数组的类型有三种:数值数组: 带有数字 ID 键的数组。关联数组: 带有指定的键的数组(每个键关联一个值)。多维数组: 包含一个或多个数组的数组。获取数组长度在开始谈三种数组类型前,先来看一下如何获取数组长度。在 PHP 中并不是使用 .le...原创 2020-02-18 19:12:22 · 1365 阅读 · 0 评论 -
PHP foreach 遍历原理
前言foreach 本质数组内有一个指针,指向数组元素的第一个元素,它利用移动指针的方式去获取数据。过程我们写一个简单的遍历代码,然后解释从 0 到 1 的过程:# Array$arr = ['true', 'false'];# Ergodicforeach($arr as $key => $value){ echo $key . ':' . $value;}1...原创 2020-02-18 19:08:53 · 2079 阅读 · 0 评论 -
PHP5 - 常量(static)
声明PHP 中常量使用 define() 函数声明。常量是一个简单值的标识符,在脚本执行期间该值不能改变(除了所谓的魔术常量,它们其实不是常量)。常量默认为大小写敏感,也就是常量标识符需要大写字母,如:FOO,FUNCT 等等。define()语法:fefine(name, value, case_insensitive)参数:name:必选。 常量名称,即标志符。valu...原创 2020-02-17 17:18:26 · 1852 阅读 · 0 评论 -
PHP5 - 对象(Object)
初始化在 PHP 中对象必须声明,使用 class 关键字声明对象,类是可以包含属性和方法的结构:class obj { # code}在对象中声明的变量叫做对象的 属性:# public: 任何地方都可以访问# private: 只能由类自身访问# protected: 在类自身或者父类或者继承类中可以访问class obj { public $message ...原创 2020-02-16 14:11:22 · 2275 阅读 · 0 评论 -
CentOS 配置 phpstudy 集成环境(小皮面板)
前言这里使用 VMware 虚拟机下安装 CentOS 系统,然后安装 phpstudy 集成环境,最后调出面板(似宝塔面板),配置和安装服务器。安装 CentOS请移步详细教程:https://blog.csdn.net/weixin_44198965/article/details/103692992安装 phpstudyphpstudy 安装约定:操作系统:全新系统(支持Ce...原创 2020-02-12 20:02:28 · 9683 阅读 · 0 评论