- 博客(44)
- 收藏
- 关注
转载 php利用root权限执行shell脚本 (转)
转一篇博客,之前搞这个东西搞了好久,结果今天晚上看到了一篇救命博客,瞬间开心了。。。转载转载利用sudo来赋予Apache的用户root的执行权限,下面记录一下:利用PHP利用root权限执行shell脚本必须进行以下几个步骤:(所有步骤都是我亲自实验,若有不妥可指出,谢谢!)1. 确定一下你的Apache的执行用户是谁。注:不一定就是nobody,我自行安装的httpd,我...
2017-07-26 22:02:00 245
转载 一个菜鸟程序员的16年岁末留忆
不知道为什么,突然觉得自己应该写点什么东西了。也许是震惊于今天突然发现2017年春节后自己已经25岁了,也许是羞愧于即将25岁的自己还仍一事无成,也许是迷茫于25岁以后自己的未来究竟在哪里?但是总觉得自己应该抓住在脑海中还未完全溜走的2016年的点滴记忆,对即将过去的16年的自己留下点什么。 人们总说对一个人的了解无非于他的生活、工作和学习,自己也就从这几个方面写...
2017-01-30 23:01:00 151
转载 PHP简单socket编程
今天再看一点邮件发送的功能,所以了解一下socket变成,看到了一篇不错的文章,转发过来做个笔记吧。原文链接:http://www.cnblogs.com/thinksasa/archive/2013/02/26/2934206.html文章中的例子已亲测,没有问题。。。对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。...
2016-11-27 22:45:00 122
转载 PHP设计模式之委托模式
委托模式: 通过分配或委托至其他对象,委托设计模式能够去除核心对象中的判决和复杂的功能性。 1 class Bank{ 2 protected $info; 3 4 /* 5 设置基本信息 6 @param string $type 类型。例如"RMB" 7 @param int $money 利率。例如"0.4...
2016-09-19 11:25:00 111
转载 PHP设计模式之装饰器模式
装饰器模式:如果已有对象的部分内容或功能性发生改变,但是不需要修改原始对象的结构或不使用继承,动态的扩展一个对象的功能,则应该使用装饰器模式。简单点说:就是我们不应该去修改已有的类,而是通过创建另外一个装饰器类,通过这个装饰器类去动态的扩展其需要修改的内容,这样做的好处就是————1、我们可以保证类的层次不会因过多而发生混乱。2、当我们需求的修改很小时,不用改变原有的数据结构。代码引...
2016-09-18 14:35:00 78
转载 设计模式之建造者模式
建造者模式:将复杂对象的创建过程和表示进行分离(好吧,我也看不懂什么意思1)。来点我人类能听懂的话:1、在客户端看来需要的仅仅是实例化后的类对象(大多数情况下是需要类的属性)。2、传统方式下当类有了之后,一般直接通过new class()的方式直接进行实例化,然后通过$obj->set1()构建属性1,$obj->set2()构建属性2,$obj->set3()构建属性...
2016-09-13 16:15:00 78
转载 PHP代码优化技巧
echo比print快。使用echo的多重参数代替字符串连接。在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。对global变量,应该用完就unset()掉。用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会。函数代替正则表达式完成相同功能。当执行变量$i的递增...
2016-08-30 17:46:00 70
转载 PHP数组排序函数array_multisort()函数详解
这个函数因为用到了,并且在网上找了半天终于找到了一个写的通俗易懂的文章,在这里分享给大家。 原文链接:http://blog.163.com/lgh_2002/blog/static/4401752620115242345435/array_multisort()这个函数可以对多个PHP数组进行排序,排序结果是所有的数组都按第一个数组的顺序进行排列——有点拗口,真的,并...
2016-08-22 10:33:00 102
转载 MySQL索引背后的数据结构及最左原则
MySQL索引原理##索引目的索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才能找到你想要的,如果我想找到m开头的单词呢?或者ze开头的单词呢?是不是觉得如果没有索引,这个事情根本无法完成?##索引原理除了词典,生活中随处可见索引的例子,如...
2016-06-26 21:08:00 112
转载 数据结构学习之二叉树
这些天一直在准备毕业,写论文,改论文。现在差不多了,偷点闲,学习了一下二叉树,写点小总结,用以备忘。 先说一下树的定义(ps:这些定义都是一些通俗理解,不是真正的官方定义):(1)树由多个节点和边组成。(2)每个节点只有一个父节点但可以有多个子节点。(3)在树中只有一个例外,该节点没有父节点,该节点称为父节点。 再来几个专业术语: (1)深度:从根节点到最底层节点的...
2016-06-07 17:17:00 85
转载 数据结构排序算法之希尔排序
希尔排序又叫做递减增量排序。在这种排序中,我们将设置一个步长(增量),我们在比较数据时根据增量去进行比较,这样我们的数据会一次性前进很多步,所以希尔排序的效率要比直接插入排序的效率高。 希尔排序的思想就是我们设置一个步长,然后我们根据这个步长进行划分子序列,得到子序列1,子序列2....,然后我们对每个子序列进行直接插入排序,我们也知道当整个数列基本有序的时候使用直接插入排序的...
2016-05-03 22:13:00 118
转载 数据结构排序算法之归并排序
最近一段时间一直在做项目,没有时间(好吧,我也承认最近有点懒,晚上回去什么都不想干了)。不过最近这两天晚上还是看了一点,就写下来备忘吧。 排序算法之归并排序:看资料都介绍说这是一种效率非常高的算法,看有的大神进行的测试,在200000个随机数的情况下排序速度比快排还要快。 其实主要原理也非常简单,看资料中的专业术语都是说采用分治法,分治法的要求是左右两边的数据都要有序(其...
2016-04-29 15:23:00 129
转载 数据结构排序算法之简单插入排序
接着昨天,排序算法-》简单插入排序。 简单插入排序算法原理:从整个待排序列中选出一个元素插入到已经有序的子序列中去,得到一个有序的、元素加一的子序列,直到整个序列的待插入元素为0,则整个序列全部有序。 在实际的算法中,我们经常选择序列的第一个元素作为有序序列(因为一个元素肯定是有序的),我们逐渐将后面的元素插入到前面的有序序列中,直到整个序列有序。示意图如下:...
2016-04-15 21:44:00 154
转载 数据结构排序算法之选择排序
今天继续介绍一种排序算法:选择排序。 选择排序的基本思想就是从待排序列中选择出最小的,然后将被选出元素和序列的第一个元素互换位置(当前默认是升序排列),则互换完成后第一个元素就是整个序列的最小的元素,则一次选择排序结束。然后我们从剩下的子序列中选择出最小的,然后将该被选出来的元素和该子序列的第一个元素(即整个序列的第二个元素)互换位置,则当前整个序列的第二个元素就是当前序列中的...
2016-04-14 22:36:00 130
转载 数据结构排序算法之快速排序
排序算法包括很多种,其中快速排序是其中一种比较快的排序算法,今天就来介绍一下: 快速排序的基本实现思想就是将当前待排序列分成两个部分、一个值。一个值:就是选定出一个值作为被比较的元素。两个部分:所有比该被选定元素大的部分都去该元素的右边,所有比被选定元素小的部分都去该元素的左边。这样我们就确定了该元素在这个待排序列中的位置,其实也就是我们已经将这个元素“排好了”。 那么,...
2016-04-12 23:11:00 166
转载 数据结构知识基础之指针
对于很多学习过c语言的同志们来说都知道指针是c语言中最最精粹的地方。就拿我现在主攻的php语言来说,php这种动态脚本语言底层也是用c来实现的,当我们实例化一个对象时,其实真正的过程也是一个在栈内存中的地址指向堆内存中真正的对象的过程,也就是说真正的对象时放在堆内存中,栈内存中放的是指向堆内存中对象的地址,PHP就是通过这种地址的指向实现了一个对象实例化的过程。上面插了一点,现在就来...
2016-04-02 22:43:00 269
转载 MySQL性能优化的最佳20+条经验
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1...
2016-03-24 16:53:00 113
转载 ThinkPHP框架下基于RBAC的权限控制模式详解
这几天因为要做一个项目,需要可以对Web应用中通用功能进行封装,其中一个很重要的涉及到了对用户、角色和权限部分的灵活管理。所以基于TP框架自己封装了一个对操作权限和菜单权限进行灵活配置的可控制模式。 RBAC角色权限分配模式大家或许都不陌生,其重要的访问控制原理就是将权限基于角色进行动态分配,在一个工作模式中,每个人都被分配了不同的角色,因为每个人角色的不同所以每个人负责的事情...
2016-03-22 20:35:00 146
转载 Memcache缓存系统原理
在Web服务开发中,服务端缓存是服务实现中所常常采用的一种提高服务性能的方法。其通过记录某部分计算结果来尝试避免再次执行得到该结果所需要的复杂计算,从而提高了服务的运行效率。 除了能够提高服务的运行效率之外,服务端缓存还常常用来提高服务的扩展性。因此一些大规模的Web应用,如Facebook,常常构建一个庞大的服务端缓存。而它们所最常使用的就是Memcached。 在本文...
2016-02-28 18:48:00 156
转载 数据库设计之三大范式
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,...
2016-02-19 15:53:00 124
转载 laravel5.1框架简介及安装
最近自己出来实习了,进入了一个新的环境,不仅是生活中,在代码和架构中也完全是一个新的架构。由于公司使用laravel5.1框架,所以最近学习了laravel5.1框架,好了接下来就简单介绍一下laravel5.1框架。给大家推荐一个laravel学习网站:http://laravelacademy.org/。(上面有详细的手册) laravel框架一套重量级的php开发...
2015-12-02 20:58:00 119
转载 数据结构之队列定义及基本操作实现
数据结构学着就是有意思,真诚推荐郝斌老师的数据结构视频,真的讲解的非常详细,容易理解。 一直在跟着郝斌老师的数据结构视频学习,看完了队列的视频,记录下来,总结一下。 队列的定义:队列是一种特殊的线性表,只允许在表的头部(front处)进行删除操作,在表的尾部(rear处)进行插入操作的线性数据结构,这种结构就叫做队列。进行插入操作的一端称为队尾,进行删除操作的一端称为队尾...
2015-11-02 15:33:00 275
转载 PHP之闭包详解
匿名函数提到闭包就不得不想起匿名函数,也叫闭包函数(closures),貌似PHP闭包实现主要就是靠它。声明一个匿名函数是这样:1 $func = function() {2 3 }; //带结束符可以看到,匿名函数因为没有名字,如果要使用它,需要将其返回给一个变量。匿名函数也像普通函数一样可以声明参数,调用方法也相同:1 $func = functi...
2015-11-01 20:07:00 82
转载 数据结构之栈定义及基本操作实现
终于有可以有时间写点数据结构的学习总结了,前段时间一直在紧张的忙一些项目,都没有空出时间来学习数据结构,现在终于可以稍微喘口气了,还是数据结构有意思,这两天看了点栈的东西,写下来总结一下,有错误的地方希望看到的朋友指出来,感激不尽。 根据学习,栈就是一种线性数据结构,栈的运算只能在表的一段进行,所以这种数据结构具有“后进先出”的特点。 接下来是栈的c语言实现。其中栈...
2015-10-31 10:47:00 157
转载 PHP之MVC微型框架简单搭建
好长时间没有写博客了,这段时间过得紧张的不行,以致于都没有抽出时间来好好的总结一下自己这段时间的生活和学习。 其实今天不想写什么技术博客,就想简单总结一下这段时间的生活。10月8号从家里回来以后决定自己搭建一个小的MVC框架,并且用这个框架去实现自己博客网站的编写。紧紧张张的忙活了不到20天吧,终于是大致把这个东西完成了,现在就差部署到Linux的服务器上了。唉,有件事我也是醉了,...
2015-10-30 20:18:00 173
转载 对web应用中单一入口模式的理解及php实现
在我们web应用的开发中,经常会听见或看见单一入口模式,在我开始学习tp框架的时候也不理解为什么要运用一个单一入口模式,只是会使用,最近自己在搞一个小东西的时候才明白为什么在web开发中要运用单一入口模式。 那么,什么叫单一入口模式呢?单一入口模式官方版就是用一个文件处理所有的请求。其实,说通俗一点就是,当我们访问一个网站,都是在地址栏中通过http的请求访问,在http的请求...
2015-10-11 17:09:00 288
转载 php面向对象编程学习之高级特性
前几天写了一篇关于php面向对象基础知识的博客,这两天看了php面向对象的高级特性,写出来记录一下吧,方便以后拿出来复习。 面向对象除了最基本的定义类之外,最主要就是因为面向的一些高级特性,运用这些高级特性,我们可以写出更加合理优雅的代码(ps:上述官方语言都是在网上摘抄,由于没有多少面向对象编程的经验,自己仅仅是记录自己的学习心得)。闲话扯完,接下来说说面向对象。(1)静...
2015-10-08 16:35:00 77
转载 数据结构之链表定义及基本操作实现
在我上一篇的博客中说过,数据结构的线性结构中有连续存储结构和离散存储结构,这次就写一写学习离散存储结构——链表的小总结。 首先说一下链表的定义:链表是物理存储单元上非连续、非顺序的存储结构,链表的结点间通过指针相连,每个结点只对应有一个前驱结点和一个后继结点,其中,首结点没有前驱结点,尾节点没有后继结点。上述表述共同构成了对链表的定义。 接下来说一下链表的结构:链表由头结...
2015-09-24 16:15:00 298
转载 数据结构之数组定义及基本操作
数据结构中最基本的一个结构就是线性结构,而线性结构又分为连续存储结构和离散存储结构。所谓的连续存储结构其实就是数组。 数组本质其实也是数据的一种存储方式,既然有了数据的存储,就会涉及到如何对数据进行寻址的问题。首先,先说一下在数组中数据是如何存储的,在内存中,数组中的数据是以一组连续的数据集合的形式存在于内存中。当我们访问存在于内存中的数组时,我们应该找到其在内存中的地址,当我...
2015-09-21 19:10:00 1363
转载 php命名空间使用
对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结。命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀。例:项目中有两个模块:article和message board,它们各自有一个处理用户留言的类Comment。之后我可能想要...
2015-09-15 16:39:00 80
转载 PHP面向对象编程学习之对象基础
php虽然是一门学习起来非常简单的语言,但是这门语言也包含了对面向对象编程的支持。尤其是随着php5的发布,php对面向对象的支持有了很大的进步。最近学习了一下php的面向对象编程,不禁感慨,面向对象真的是一种非常优雅的编程,最主要的是真的很难! 学习面向对象,当然首先就要了解什么是类,什么是对象,类和对象有什么关系?类和对象的定义就不在这里赘述了,相信大家对类和对象都有一个基...
2015-09-15 15:22:00 62
转载 ubuntu下lamp环境配置及将window代码迁移至linux系统
因为最近要用需要去实现项目中的一个功能,比较好的做法就是在http://i.cnblogs.com/EditPosts.aspx?opt=1linux中实现。所以最近就将自己的代码全部迁移到linux中了,其中遇到了不少问题,拿出来与大家分享一下,希望会对大家有所帮助。 首先说一下配置lamp环境吧。lamp的环境大家都知道就是linux,apache(服务器还可以是nginx...
2015-09-07 11:01:00 96
转载 ThinkPHP中使用ajax接收json数据的方法
本文实例讲述了ThinkPHP中使用ajax接收json数据的方法。分享给大家供大家参考。具体分析如下:这里通过ThinkPHP+jquery实现ajax,扩展了下,写了个查询,前台代码如下:首先需要引入jquery.js,主要代码如下: 1 function ajax(id,pic){ 2 3 //由于ThinkPHP不解析JavaScript里的Th...
2015-08-29 10:54:00 894
转载 给js文件传递参数
一、利用全局变量这是最简单的一种方式,比如Google Adsense:1 <script type="text/javascript"> google_ad_client ='pub-3741595817388494'; </script>2 <script type="text/javascript" src="http://pagea...
2015-08-10 17:05:00 404
转载 JavaScript和php常用语法——切割字符串
在面向Web的应用中,前台和后台通信非常常用的一种格式就是字符串,所以,在通信中,我们不可避免的就需要进行字符串的拼切。 在js代码中,当我们传递一个字符串到后台代码时,我们在后台需要对字符串进行切割用以获取我们所需要的数据。同样的,在后台代码(我常用的是php)中我们传递一个字符串到前台js代码中,我们同样需要对字符串进行切割以获取我们所需的数据。 那么,接下里就看看在...
2015-08-06 09:59:00 113
转载 项目中引用ThinkPHP框架
ThinkPHP是一个宽度、兼容且简单的国产的轻量级框架,具有优良的性能,并且非常注重易用性。 那么,我们该如何将ThinkPHP引入自己的项目中,使得自己的项目可以使用这款优良的框架呢? 首先介绍下ThinkPHP框架的目录结构: Common:框架的核心函数库 Conf:框架的核心配置文件目录 Lang:语言包 Library:框架的核心资源库...
2015-07-30 10:15:00 289
转载 Javascript面向对象之创建对象
面向对象的语言具有一个共同的标志,那就是具有“类”的概念,但是在javascript中没有类的概念,在js中将对象定义为“无序属性的集合,其属性可以包含基本值,对象或者函数”,即其将对象看作是一组名值对的散列表。这样问题就来了,如何创建对象呢? 在最开始时使用object构造函数和对象字面量来创建单个对象,下面简要介绍这两种方法。 object构造函数:创建自定义对象的最...
2015-07-14 10:22:00 88
转载 asp.net的Master-Content结构简介
在一个网站中,页面应该具有统一的布局方式,这些统一的布局内同将显示到所有的页面中,它提供了用户最基本的功能。Asp.Net2.0通过Master-Content结构提供了这样统一页面管理的机制。 Master页面:其提供了所有最基本的基于该页面显示的布局和功能,它是页面的最高控制。Master页面中包含了<asp:contentPlaceHolder runat="ser...
2015-05-17 15:29:00 309
转载 ThinkPHP中 按条件查询后列表显示
最近在项目中遇到了需要根据下拉框的条件筛选出符合条件的数据,然后进行列表显示的问题。在ThinkPHP中进行列表显示的传统过程:通过在后台控制器中查询出数据,然后通过$this->assign()来实现控制器数据向页面的传递,在页面中通过<foreach>或<volist>标签来进行数据的解析,(注:在通过标签进行数据的解析时需要以“$”符号的形式)...
2015-05-04 22:03:00 333
转载 ThinkPHP中ajax提交数据
最近在做项目时遇到了一些需要从页面用ajax提交数据到后台的操作,无奈本人技术有限,网上苦寻,研究了一下ajax和thinkPHP的结合,黄天不负苦心人,终于搞定了。闲话少叙,进入正题:我需要从页面中的一系列列表中,提交数据id到后台,然后从后台接收id数据,然后进行操作。$.ajax({ type:"GET", ...
2015-04-22 20:50:00 373
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人