PHP
文章平均质量分 64
左手码农
创世的第七天,他用左手轻轻地敲下:Hello,world!
展开
-
CI应用:文件上传功能
使用CI框架实现 单文件上传 和 多文件上传 的方法 控制器<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');class Welcome extends CI_Controller { public function原创 2016-08-14 23:38:33 · 1561 阅读 · 0 评论 -
利用base64对图片进行编码及解码
试图将图片通过json进行传输,这个时候就想到利用base64编码的方法来图片。主要步骤有1、对图片文件进行编码,转换为base64编码的格式,及一长串字符;2、可将字符通过json进行传送;3、目的方接收json数组,取出编码字符串,并进行解码,显示图片该方法难点主要还是在于对图片的编解码处理,以下是用PHP实现的编解码处理代码<?php $image_f原创 2015-08-09 22:35:48 · 6041 阅读 · 0 评论 -
PHP 中加载类文件的几种方法
PHP 中加载类文件,常用require语句或者include语句。二者的区别是:require语句包含的文件如果有语法错误或者不存在该文件,则会提示错误“fatal error”,并且终止程序运行;include语句在同样的情况下,则是提示警告“warning”,并且程序继续运行。PHP 加载类文件还可以用require_once或者include_once,他们与require语句或者原创 2015-06-15 21:50:07 · 1250 阅读 · 0 评论 -
PHP中 类的访问控制
今天整理了一下PHP中关于类的访问控制,相关内容如下在PHP中主要通过public、protectd、private等关键字来定义访问权限。public:被public修饰的属性和方法,可以在程序中任何位置被访问,而且可以被子类继承。PHP中,类方法的访问权限默认都是public。protectd:被protectd修饰的属性和方法,可以在所属类的内部被访问,而且可原创 2015-06-15 22:27:09 · 1481 阅读 · 0 评论 -
Yii 中使用 yii-bootstrap 扩展
第一步:首先下载扩展包,解压至 protected/extensions 目录,此时在改目录下存在 bootstrap 文件夹第二步:在配置文件中配置:// 配置一个别名 使得可以bootstrap访问到扩展路径 Yii::setPathOfAlias('bootstrap', dirname(__FILE__).'/../extensions/bootstrap');原创 2015-06-14 20:13:52 · 1412 阅读 · 0 评论 -
利用cURL会话获取一个网页
1、curl_init 作用: 初始化一个新的会话,返回一个cURL句柄,供curl_setopt(), curl_exec()和curl_close() 函数使用。格式: curl_init ([ string $url = NULL ] )如果提供了参数 $url ,CURLOPT_URL 选项将会被设置成这个值。或者使用curl_setopt()函数手动地设置这个原创 2015-06-11 00:07:45 · 1629 阅读 · 0 评论 -
根据用户IP获取其所在地
预定义变量$_SERVER的用法中,我们可以发现参数 'REMOTE_ADDR'的作用是:浏览当前页面的用户的 IP 地址。根据这个我们可以获取客户端的IP,根据获取的IP我们又可以进一步获取对方的所在地等其他信息。这一节主要是了解一下如何获取客户端的IP地址,并定位其所在地。我们先看看代码实现:<?phpheader('Content-Type:text/html;原创 2015-05-07 13:01:52 · 1180 阅读 · 1 评论 -
根据IP获取天气状况
上一节我们学习了如何获取客户端IP,并确定其所在地。这一节我们接着学习根据已获取的信息进一步获取客户所在地的天气情况。根据上一节里我们已经获取了的客户所在的省份、城市,那么我们只要利用一些与天气相关的网站的API,就能完成天气情况的信息获取(此处使用的是中国天气网所提供的API)。我们还是先来看看代码怎么实现的:<?phpheader('Content-Type:text/html;原创 2015-05-07 23:34:03 · 1038 阅读 · 0 评论 -
了解预定义变量$_SERVER
这一节主要内容是了解预定义变量$_SERVER的用法。 $_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。这也就意味着大量的此类变量都会在» CGI 1.1 规范原创 2015-05-06 23:51:39 · 645 阅读 · 0 评论 -
PHPExcel(2)-- 导入功能
在上一节中,我们已经学习了PHPExcel的导出功能。那么这一节,我们就一起来学习一下如何用PHPExcel将Excel文件中的数据导入到数据库中。PHPExcel的使用方法同上一节所讲:http://blog.csdn.net/liuruiqun/article/details/456677891、首先下载该应用,github链接为:https://github.com/PHPOff原创 2015-05-14 12:52:03 · 789 阅读 · 0 评论 -
PHP定时执行任务
这一节主要讨论PHP定时执行任务的实现方法。 首先,每个PHP脚本都限制了执行时间,所以我们需要通过 set_time_limit 来设置一个脚本的执行时间为无限长。php默认的执行时间是30秒,通过set_time_limit(0)可以让程序无限制的执行下去 。 解决了执行时间的问题,但如果客户端断开了怎么办呢?使用函数 ignore_user_abort(),即使Cli原创 2015-05-06 00:49:14 · 967 阅读 · 0 评论 -
window上安装 MongoDB PHP扩展
1、下载Github上已经提供了用于window平台的预编译php mongodb驱动二进制包(下载地址:php_mongo),可以下载与实际环境下php对应的版本。我搭建的环境中PHP版本为5.6.11,故下载的php mongodb驱动二进制包为 php_mongo-1.6.8.zip。文件解压后有很多不同文件名的dll文件,此时需要注意以下几点问题: 'Th原创 2015-08-02 22:16:55 · 3209 阅读 · 0 评论 -
Yii2的安装及简单配置
简介Yii2是一个高性能的,适用于开发WEB2.0应用的PHP框架。Yii2自带了丰富的功能 ,包括MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,功能强大,开发人员基于此框架可显著缩短开发时间。安装安装xampp下载并安装最新的 XAMPP(Yii2要求PHP版本最低也要5.4):https://www.apa原创 2015-08-03 19:59:09 · 987 阅读 · 0 评论 -
yii2关于HTTP请求处理的总结
1、VerbFilterVerbFilter 是针对 HTTP 请求方式的过滤器,作用是定义访问指定动作所允许的HTTP请求,若不允许的HTTP请求到来,则会抛出一个 HTTP 405 错误。若不指定允许的请求方式,则默认允许当所有类型的请求方式 。接下来,试一试 VerbFilter 的简单使用。首先,在 SiteController 中添加代码 public fun原创 2015-08-05 22:53:42 · 4194 阅读 · 0 评论 -
对象、json、数组之间的转换
数组转换PHP 中,有三种数组类型:索引数组 - 带有数字索引的数组关联数组 - 带有指定键的数组多维数组 - 包含一个或多个数组的数组array() 函数用于创建数组:索引数组$indexArr = array("Peter","Ben","Joe");关联数组$assocArr = array("Peter"=>"12","Ben"=>"13",原创 2016-09-02 10:55:12 · 1070 阅读 · 0 评论 -
php实现远程操作
使用 php 进行远程操作的时候,需要安装SSH2模块。关于在SSH2模块中用到过的几个函数,做一个简单的记录。常用方法1、连接ssh2_connect ($host, $port = null, $methods = nullarray , $callbacks = nullarray )连接到一个 SSH 服务器2、认证原创 2016-08-29 21:42:52 · 2959 阅读 · 0 评论 -
数组的序列化
数组的序列化就是将数组的数据转化为字符串,以便传递和数据库存储。而对应的反序列化就是将字符串的数据转化成为数组数据了。序列化对应的函数为 serialize(), 反序列化对应的函数为:unserialize().可以将前者序列化之后的数据存到数据库的某个字段中,使用时再通过反序列化处理。下面举一简单例子: $arr = array('张三','李四'原创 2015-04-14 00:09:04 · 9531 阅读 · 1 评论 -
常用的几个设计模式
设计模式是一些编程方式,用来解决某一类特殊问题的一种最佳实践,在面向对象编程中有着举足轻重的地位。设计模式可以分成3个大类:创建型模式结构型模式行为型模式其中,创建型模式用以创建对象。包含了创建者模式、工厂模式、原型模式和单例模式结构型模式帮助我们创造和使用复杂的结构。包含了适配器模式、桥接模式、组合模式、装饰模式、外观模式和代理模式行为型模式描述了对象在系统中的通信方式和原创 2016-07-28 12:24:20 · 413 阅读 · 0 评论 -
高质量PHP代码的50个实用技巧:非常值得收藏
本文转自:http://www.finalshares.com/read-497?qq-24881.不要使用相对路径常常会看到:require_once('../../lib/some_class.php');该方法有很多缺点: 它首先查找指定的php包含路径, 然后查找当前目录。因此会检查过多路径。如果该脚本被另一目录的脚本包含, 它的基本目录变成了另一脚转载 2016-02-26 11:28:38 · 1411 阅读 · 0 评论 -
thinkPHP实现在线人数的统计
一,每次用户操作更新其在线时间这个方法很直接,在用户表里加一个字段update_time,每次用户进行操作,都更新这个字段为当前时间,一般是在一个被所有Action继承的基类里写这个操作。然后定义一个过期时间,比如10分钟,表示10分钟没进行任何操作的用户默认为不在线。这样,统计当前在线用户的sql语句大概是这样select count(*) from think_user whe转载 2015-12-19 15:15:54 · 3532 阅读 · 0 评论 -
ThinkPHP实现支付宝接口功能
转自:http://www.thinkphp.cn/code/240.html最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能。这里我用的是即时到帐的接口,具体实现的步骤如下:一、下载支付宝接口包下载地址:https://b.alipay.com/order/productDetail.htm?productId=2012111200373124&t转载 2016-01-03 20:39:54 · 552 阅读 · 0 评论 -
Ubuntu下使用Tasksel安装LAMP
一般来说,Ubuntu下安装LAMP套件,需要apt安装很多包(如apache2、php5等),来构成一个完整的LAMP系统。而使用tasksel的话,则能够通过一条语句直接搞定!Tasksel,它是一个Debian下的安装任务套件,如果你为了使你的系统完成某一种常规功能,而需要安装多个软件包时,我们就可以使用它了。注意:Tasksel在ubuntu server里是预装的,而在桌面版里是原创 2015-11-17 22:28:38 · 2297 阅读 · 0 评论 -
PHP实现http与https转化
本文转自:http://zyan.cc/post/142/1、如果网页使用https访问,在网页开头加入以下代码: <?php //http转化为https if ($_SERVER["HTTPS"]<>"on") { $xredir="https://".$_SERVER["SERVER_NAME"]. $_SE转载 2015-09-19 23:57:04 · 3626 阅读 · 0 评论 -
HTTP转HTTPS实现
本文转自:http://blog.csdn.net/lsj19830812/article/details/5729416对于用户来说一般习惯于直接输入网址访问网站,如 xxx.xxx.xxx ,浏览器会补全所使用的协议,浏览器地址栏中自动显示为 http://xxx.xxx.xxx,这样看来浏览器默认用户使用的访问协议是http协议。现在有如下需求,客户要求输入 xxx.xx转载 2015-09-19 23:46:19 · 972 阅读 · 0 评论 -
PHPExcel(1)-- 导出功能
PHPExcel导出功能Web开发的时候,经常会遇到需要将数据库中某些表单导出到excel文件中的问题。我在运用yii框架做web开发过程中,发现有个应用为PHPExcel,该应用能够实现excel文件的导入导出,刚好能够满足需要的要求。一下是自己应用 PHPExcel 做数据导出的记录。1、首先下载该应用,github链接为:https://github.com/PHPOffic原创 2015-05-12 12:22:42 · 1145 阅读 · 0 评论 -
PHP网络函数总览
checkdnsrr — 给指定的主机(域名)或者IP地址做DNS通信检查 closelog — 关闭系统日志链接 define_syslog_variables — 初始化所有syslog相关变量 dns_check_record — checkdnsrr别名 dns_get_mx — ge原创 2015-05-11 23:44:34 · 729 阅读 · 0 评论 -
PHP文件上传功能 -- 多文件上传
这一节内容主要介绍PHP上传文件的多文件上传功能。只要以数组形式来命名表单中的文件上传标记,即可实现多个文件同时上传。下面我们来看一个例子:---------------------------------------------------------------------" method="post">原创 2015-04-20 23:55:51 · 1038 阅读 · 0 评论 -
PHP可变函数
可变函数是指同样的函数名称,其函数体可以动态改变。使用方法:可通过把函数名当成变量,从而实现可变函数的功能。下面看一例子: function add($a, $b){ return $a + $b; } function sub($a, $b){ return $a - $b; } $a原创 2015-04-14 14:07:48 · 600 阅读 · 0 评论 -
PHP匿名函数
1、匿名函数就是临时创建的没有名称的函数。2、PHP从PHP5.3.0版本开始支持匿名函数。3、PHP的匿名函数通过closures实现,常用于回调函数。下面看一例子:$my_array = array(1,2,3,4,5,6,7,8,9); print_r($my_array); echo ""; $new_array = array原创 2015-04-14 13:18:10 · 714 阅读 · 0 评论 -
PHP 日期与时间函数
1、时区设置方法一:设置 php.ini 的 date.timezone=Asia/Hong_Kong ,使系统默认时间为东8区方法二:使用函数 date_default_timezone_set() 把时区设为 date_default_timezone_set("Asia/Hong_Kong")2、获取当前时间戳使用 time() 函数直接返回当前时间和日期,时原创 2015-04-13 23:58:53 · 573 阅读 · 0 评论 -
YII入门 (4) -- 自定义Gii生成代码模板
一、应用程序的配置如下:return array( ...... 'modules'=>array( 'gii'=>array( 'class'=>'system.gii.GiiModule', 'password'=>'在这里填写密码', // 'ipFilters'=>a原创 2015-04-12 16:47:23 · 1708 阅读 · 0 评论 -
YII入门 (3) -- 实现 CRUD 操作
通过Gii来实现系统的 CRUD 操作1、修改 config 文件夹的 main.php,激活 Gii ,如下'modules'=>array( // uncomment the following to enable the Gii tool 'gii'=>array( 'class'=>'system.gii.原创 2015-04-12 12:41:15 · 798 阅读 · 0 评论 -
访问函数_set和_get
由于OOP思想强调封装性,不鼓励直接从类的外部访问类的属性,使用_get和_set函数能达到此目的。当类函数被调用时,访问函数都会被激发。 看看下面的例子:class guests{ public $property; function __get($name){ return $this->$name; } functi原创 2015-04-06 23:06:10 · 537 阅读 · 0 评论 -
get和post的区别与联系
1. get是从服务器上获取数据,post是向服务器传送数据。2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。3. 对于get方式,服务器端用Request.Qu转载 2015-04-06 23:24:02 · 549 阅读 · 0 评论 -
YII入门 (2) -- 连接数据库
修改应用的配置文件 WebRoot/yii_pro/protected/config/main.php 即可,如下所示:'db'=>array( 'connectionString' => 'mysql:host=localhost;dbname=yii_pro', 'emulatePrepare' => true,原创 2015-04-11 16:25:35 · 593 阅读 · 0 评论 -
YII入门 (1) -- 建立一个YII应用
一、安装Yii1. 从 yiiframework.com 下载 Yii 框架。2. 将 Yii 压缩包解压至一个 Web 可访问的目录二、建立一个 Yii 应用在命令行运行 yiic,如下所示: % YiiRoot/framework/yiic webapp WebRoot/ yii_pro (注:YiiRoot 为 Yii 的安装目录)该原创 2015-04-11 15:36:02 · 709 阅读 · 0 评论 -
PHP实现文件的下载
PHP实现文件的下载,首先需要通过 header() 函数向Apache服务器发送一些标识信息,告诉Apache要下载的文件的路径,名称,类型等信息,最后再利用文件读写函数来读取文件内容并输出。 下面来看一例子: $file = 'images/test.jpg'; if(is_file($file)) { header("Content-T原创 2015-04-17 01:19:04 · 796 阅读 · 0 评论 -
在线支付技术
在线支付技术 在线支付就是客户端将支付信息加密后通过互联网传送到支付网关,同时金融机构网上支付系统反馈有关支付信息,客户确认无误后进行支付确定,支付网关负责商户网上交易资金的清算,并根据商户提供的开户银行、账号等结账信息将网上消费款项汇总划入商户账户。注意:1、金融机构需要客户端安装由金融机构签发的数字证书,信用卡的话免安装。2、支付网关是解决网络上安全支付问题的交易原创 2015-04-29 23:28:01 · 1267 阅读 · 0 评论 -
mysqli_result类--成员方法
mysqli_result类--成员方法close() 释放内在并关闭结果集,一旦调用结果集就不可再使用了。data_seek() 明确改变当前结果记录顺序fetch_field() 从结果集中获得某一个字段的信息fetch_fields() 从结果集中获得全部字段的信息原创 2015-04-11 00:24:37 · 1016 阅读 · 0 评论 -
cookie的简单使用(1)
cookie是http协议头的组成部分,必须在页面的其他内容出现之前发送。所以在设置cookie之前不能有任何文本输出,包括HTML标记、输出语句以及空白行。一旦cookie被建立,那么下一次访问页面时,cookie就会通过_COOKIE或HTTP_COOKIE_VARS数组加载。函数setcookie的作用是用来发送一个cookie。它的用法如下:bool setcookie原创 2015-05-11 22:44:59 · 878 阅读 · 0 评论