php基础
php基础
dancheng_work
在时间允许的情况下,源码是最好的开发文档。
展开
-
配置php
配置php的基本运行环境php配置文件: 在php的语言包/php.ini php的初始语言包,提供了2个推荐配置文件: 开发阶段只要将php.ini-development文件改为php.ini文件即可 确定php文件位置: 查看php.ini的配置路径 使用一个简单的php网页,其中只有一行代码:原创 2017-04-07 21:39:24 · 331 阅读 · 0 评论 -
php递归实现树状分类结构
如果设计一个递归的树状结构只需简单的分类数据库结构就可以了实际树状结构在Model层和view层实现相应的业务逻辑就可以了Model层代码(tree函数主要实现了递归思想):<?phpclass CategoryModel extends Model{ //查询所有分类的信息 public function getCats(){ $sql = "select原创 2017-07-15 21:23:02 · 2914 阅读 · 0 评论 -
php实现修改分类级别时防止将原分类加在自己子分类下
树状分类结构在修改分类时如果将本身链接在自己子分类下,就会将以这个分类为主的所有子分类丢失。解决出现这种状况的方式为:1、将本分类下的所有子分类和本身做成一个集合2、在修改提交时,对修改后的上级分类与1中的集合对比,如何1中集合存在这个修改后的上级分类。便返回错误信息。反之,成功修改Model中获得子分类id的代码://定义一个方法,获取指定节点的id pub原创 2017-07-16 11:59:17 · 1173 阅读 · 0 评论 -
php项目防止sql注入的方法
Sql注入:通过在表单中添加特殊的字符或url中增加特殊的字符,然后向数据库发起请求,拼凑出sql语句,达到攻击的目的有两种:1、Post2、Get Post的万能密码:xxx’or‘1如何防范万能密码:最简单的方式,就是密码加密:md5, sha1万能用户名:xxxx' OR 1#如何防范万能用户名:让单引号失去本身的含义,利用addslash原创 2017-07-16 23:21:20 · 305 阅读 · 0 评论 -
php对xss攻击的防范
Xss:cross site script 跨脚本攻击Xss攻击本质:通过标签(一对尖括号)来达到攻击的目的,所以我们只需要将尖括号 进行 转义,这就是php中提到的实体转义。 Htmlspecialchars函数和htmlentites函数所有表单输入的地方,都需要实体转义,以下为转义函数:function deepspecialchars($data){ if(emp原创 2017-07-16 23:23:28 · 514 阅读 · 0 评论 -
php实现分页显示功能
Sql公式: select * from cz_goods_type order by type_id limit 1,2;Offset:偏移量Pagesize:每页显示的条数其中offset是在变化的,和当前所在页数(current)、每页显示条数有关(pagesize)Offset=(current-1) * pagesize最终公式:select * from cz_go原创 2017-07-17 15:57:54 · 2577 阅读 · 2 评论 -
不用ajax的局部页面跳转实现方法(iframe)
Iframe实现局部刷新的原理可以在页面中使用iframe来嵌套其他页面在iframe中,可以使用js来操作父页面实现后的效果图:当焦点从用户名后的文本框中移开时出现的效果父页面的代码: Title 用户名: 密 码:原创 2017-07-18 09:37:24 · 1385 阅读 · 0 评论 -
php魔术函数__autoload
他是一个普通函数,不是类的方法。如果直接在类中定义一个__autoload的方法,它并不会实现自动加载。自动加载的方法:1、直接在index.php文件中编写__autoload2、在类中定义一个方法,让后将其注册为自动加载方法public static function autoload(){ spl_autoload_register(array(__CLASS原创 2017-07-09 23:44:34 · 239 阅读 · 0 评论 -
php对xml的XPath操作
通过DOM结构点位节点,在数据量很大的情况下速度下降的厉害。解决方法是XPath。XPath作用:用于快速定位节点XPath实现查询功能:<?php//XPath$doc = new DOMDocument();$doc->preserveWhiteSpace=false;$doc->load('books.xml');//通过文档生成此文档的路径$xpath = new原创 2017-07-23 11:15:07 · 885 阅读 · 0 评论 -
Php利用simpleXML对xml操作
实现代码:<?phpecho '';//读出xml文档$xml = file_get_contents('books.xml');$simple = new SimpleXMLElement($xml);//1.查询echo "";foreach ($simple->book as $book){ $attr = $book->attributes();//获取节点的属性原创 2017-07-23 12:44:49 · 449 阅读 · 0 评论 -
xml的Web服务
Web服务用的是SOAP(简单对象访问协议):是web服务的通信协议,用来定义返回信息的xml格式的规范技术后缀Asp.aspphp.php.net(跨语言).aspxjava.jspWsdl:web服务描述语言,包括一系列web服务的定义。注意:PHP默认不支持soap协议的,原创 2017-07-24 22:50:33 · 550 阅读 · 0 评论 -
全方位的比较node.js 与 js的区别
全方位的比较Node.js 与js的区别【编者按】PHP vsnode.js之争由来已久,前者用于动态网页开发,后者是用来编写高性能网络服务器的JavaScript工具包,到底他们如何?InfoWorld测试中心的Peter Wayner日前撰文指出两者的优势所在,不妨一看。以下为译文:这是典型好莱坞情节:分道扬镳的两位老朋友间的战斗。摩擦经常开始于转载 2017-07-25 09:23:00 · 550 阅读 · 0 评论 -
phpstorm 2017激活
1. 通过Licence Server 激活PHPStorm 2017.1:http://idea.imsxm.com/ (已恢复使用,更新于20170621)http://www.0-php.com:1017(可用,更新于20170621)http://idea.singee77.com/ http://idea.lanyus.com/ (已被封杀)转载 2017-09-13 14:10:04 · 279 阅读 · 0 评论 -
自己写php框架启动类
单一入口文件:index.php<?php//入口文件,单一入口//载入核心启动类include "framework/core/framework.class.php";Framework::run();核心启动类文件:Framework.php<?php//核心启动类class Framework{ //让项目run起来 public static functi原创 2017-07-11 22:53:09 · 424 阅读 · 0 评论 -
php项目中自动加载机制
自动加载类的方法:function userAutoload($class_name) { $framework_class_list = array( // '类名' => '类文件地址' 'Controller' => './framework/Controller.class.php', 'Model' => './framework/Model.class.php',原创 2017-05-21 20:30:24 · 569 阅读 · 0 评论 -
php配置数据库连接机制
php中的模块配置如下(在php.ini文件中):extension:扩展的意思,即扩展模块这里就可以轻松“打开/关闭”某个模块需要打开连接数据库的模块大约在780多行打开:extension=php_mysql.dll extension=php_mysqli.dll 模块 在php中指出数据库模块位置: 大约820在多行原创 2017-04-07 21:41:29 · 378 阅读 · 0 评论 -
php基本运行情况
运行环境: 保证能够运行php; 保证时区设置正确; 保证模块设置正确; 语法环境: 有多种嵌入到html代码中的php代码形式: 1,标准形式 .....这里是php代码 ?> 2,标准形式 ....这里是php代原创 2017-04-09 22:13:22 · 340 阅读 · 0 评论 -
php变量
基本含义 变量是包含了一个名称和一个值的“标识符”。 ? 形式:变量必须以$开头,后面紧跟变量名值传递:代码示例:<?php$v1 = 1;$v2 = $v1;$v3 = $v1 + 10;$v1++;echo "v3 = $v3 v1 = $v1";?>引用传递:$v10 = 10;$v20 = $v10;echo原创 2017-04-09 22:15:00 · 251 阅读 · 0 评论 -
php中$_GET变量
//表单以get方式提交形式一: 项目1: 项目2: 作用:将数据发送给abc.php,理解为打开这个网页形式二:!!!请求abc.php网页形式三: localost.href="abc.php?uName=test1&uPswd=123";形式四: localost.assign("abc.php?原创 2017-04-09 22:16:56 · 1047 阅读 · 0 评论 -
php$_POST常量
post通常只有一种情况 项目1: 项目2: 在abc.php中接收页面的东西怎么接<?php $v1 = $_POST['uName']; //单引号、双引号都行 是数组的索引 $v2 = $_POST['uPswd']; var_dump($_POST) //显示所有变量信息?>简单计算器:html:原创 2017-04-09 22:59:51 · 763 阅读 · 0 评论 -
php的phpMyAdmin数据库怎么装上使用
一、将phpMyAdmin下载,放在全英文的路径中。 这是我的phpMyAdmin资源,免费的:点击打开链接二、在apache\conf\extra\httpd-vhosts.conf文件中添加代码: ServerName www.dcsql.com #自己随便设置的域名,只要是自己用,叫什么都行 ServerAlias dcsq原创 2017-04-17 20:53:01 · 901 阅读 · 0 评论 -
php运行方式
一、独立运行: 运行php文件:php.exe -f "php文件路径" 运行php代码:php.exe -r "php脚本代码" 二、配置apache以运行php网页初始Apache安装完之后,其配置项还不能运行php脚本(代码)需要对Apache自定义配置,已完成该目标:运行php脚本Apache配置文件所在位置: A原创 2017-04-05 23:49:45 · 472 阅读 · 0 评论 -
PHP header() 函数
定义和用法header() 函数向客户端发送原始的 HTTP 报头。认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数(在 PHP 4 以及更高的版本中,您可以使用输出缓存来解决此问题):<?php// 结果出错// 在调用 header() 之前已存在输出header('Location: http://www.example.com/');?>转载 2017-05-22 23:18:47 · 262 阅读 · 0 评论 -
php中获取当前文件的路径
使用$url = dirname(__FILE__);函数,其中$url就是当前父路径。原创 2017-05-11 22:28:45 · 1673 阅读 · 0 评论 -
PHP获取站点根目录
将下面的代码放在网站根目录下的一个文件中,以便在其它文件中引用。路径方式:define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/");echo BASE_PATH; 输出结果:E:/wwwroot/url方式: $PHP_SELF=$_SERVER['PHP_SELF']转载 2017-05-12 22:10:03 · 1294 阅读 · 0 评论 -
PHP中读取(截取substr)字符串前N个字符或者从第几个字符开始取几个字符
<?php $str = "123456789"; echo substr($str , 0 , 3);//从左边第一位字符起截取3位字符:结果:123 echo substr($str , 3 , 3);//从左边第3位字符起截取3位字符:结果:456 ?> <?php $rest = substr("abcdef", -1); // 返回 "f"转载 2017-05-28 22:19:05 · 2094 阅读 · 0 评论 -
php curl模块不能开启问题解决方式
用的PHP 5.6.12 curl模块无法使用 环境不是用的wamp,是自己配的.百度到的所有方法全部试过,配置php.ini ,把curl_dll前的分号去掉.在php.ini中,查找extension=php_curl.dll ,找到后把它前面的分号去掉.如图:然后再查找extension_dir=.配置它的路径指向php_curl.dll 模块对应的文件夹.原创 2017-07-19 09:51:24 · 1910 阅读 · 1 评论