本文章提供这款php验证码生成类灵活好用,用户可以定义各个成员 有宽、高、画布、字数、类型、画类型同时我们只要修改 $Type就可以定义生成的是纯数字 , 纯小写字母,大小写数字混合,有需要的朋友可参考。
PHP Memcache 详解与简单应用(1/2)
简介:
memcached是一个高性能的、分布式内存对象缓存系统。通常被用于降低数据库教程加载压力以提高动态web应用的响应速度。
php mvc开发实例详解(1/3)
这个文件就只有4句,我们现在一句句来分析。
include(”core/ini.php”);
我们来看core/ini.php
php初学篇-php文件上传教程
html表单上传代码
<form enctype="multipart/form-data" action="upload.php教程" method="post">
<input type="hidden" name="max_file_size" value="100000">
<input name="userfile" type="file">
<input type="submit" value="上传文件">
</form>
php 批量修改RAR文件注释代码(1/2)
从当前文件夹添加全部 *.hlp 文件到压缩文件 help.rar 中
winrar a help *.hlp
Windows 下 php5+apache+mysql5 配置解说
1. apache的安装。同样适合大多数人的一路next,next过程中可能需要填写server domain,admin email等类似的东西,这个可以跳过,但是要注意端口的选择,默认情况下是只有80与8080端口可供选取,当然安装成功之后可以自己随意修改listen的端口,这个地方避免与iis默认80的重复,可以选择8080端口。next后安装成功之后的情况就不说了。可能有的盆有安装完成之后在apache server monitor中找不到apache服务,在services.msc中也找不到与apache有关的服务,我刚好遇到这个问题,解决方法也很简单:管理员身份运行cmd,切换至目录 $apache2.2$binhttpd.exe -k install 就差不多了,我搞的一次提示error,但还是出现了服务,点击start依旧可以运行,正常情况下提示安装成功并开始testing httped.conf...至此,apache的安装就算完毕,当然大家可以进行测试一下,可以打开httpd.conf,修改大约164行的documentroot配置节,我是这样修改的:documentroot "c:/",注意如果没搞过或者是怕找不回默认的httpd.conf可以先备份一个或者,把你要修改的配置节先注释一个。然后找到大约194行的<directory 节点,修改为<directory "c:/">,也就是你要访问的网站的目录,然后重启apache,在浏览器中输入:http://localhost:8080/testing.html看看吧。
安装memcache和memcached
简单的说
memcache是总的缓存系统项目名称,容易和php教程中的memcache混淆。
php HTTP_REFERER模仿代码(1/2)
<?php教程
if (!isset($_server["http_referer"]))
echo "no referer";
else
echo $_server["http_referer"];
?>
如果直接点击上面的链接,那么页面会显示referer页面的链接。
复制代码 代码如下:
php codeigniter框架分页类
codeigniter 具有非常容易使用的数据库教程类。在本教程中我会做一个从数据库教程返回一组结果并分页这些结果的简单例子。我将使用最新版本的 ci。分页类并没有修改(至少我认为没有),用最新的稳定版框架总是好的
调用方法
两款超php分页类代码
两款超php教程php教程类代码
<?php
/**
* description:超强分页类,四种分页模式,默认采用类似baidu,google的分页风格。
* 2.0增加功能:支持自定义风格,自定义样式,同时支持php4和php5,
* example:
* 模式四种分页模式:
* require_once(../libs/classes/page.class.php);
* $page=new page(array(total=>1000,perpage=>20));
* echo mode:1<br>.$page->show();
* echo <hr>mode:2<br>.$page->show(2);
* echo <hr>mode:3<br>.$page->show(3);
* echo <hr>mode:4<br>.$page->show(4);
* 开启ajax:
* $ajaxpage=new page(array(total=>1000,perpage=>20,ajax=>ajax_page,page_name=>test));
* echo mode:1<br>.$ajaxpage->show();
*/
class page
{
/**
* config ,public
*/
var $page_name="page";//page标签,用来控制url页。比如说xxx.php?page=2中的page
var $next_page=>;//下一页
var $pre_page=<;//上一页
var $first_page=first;//首页
var $last_page=last;//尾页
var $pre_bar=<<;//上一分页条
var $next_bar=>>;//下一分页条
var $format_left=[;
var $format_right=];
var $is_ajax=false;//是否支持ajax分页模式
/**
* private
*
*/
var $pagebarnum=10;//控制记录条的个数。
var $totalpage=0;//总页数
var $ajax_action_name=;//ajax动作名
var $nowindex=1;//当前页
var http://pic2.phprm.com/2013/09/05/$url.jpg="";//url地址头
var $offset=0;
/**
* constructor构造函数
*
* @param array $array[total],$array[perpage],$array[nowindex],$array[url],$array[ajax]
*/
function page($array)
{
if(is_array($array)){
if(!array_key_exists(total,$array))$this->error(__function__,need a param of total);
$total=intval($array[total]);
$perpage=(array_key_exists(perpage,$array))?intval($array[perpage]):10;
$nowindex=(array_key_exists(nowindex,$array))?intval($array[nowindex]):;
$url=(array_key_exists(url,$array))?$array[url]:;
}else{
$total=$array;
$perpage=10;
$nowindex=;
$url=;
}
if((!is_int($total))||($total<0))$this->error(__function__,$total. is not a positive integer!);
if((!is_int($perpage))||($perpage<=0))$this->error(__function__,$perpage. is not a positive integer!);
if(!empty($array[page_name]))$this->set(page_name,$array[page_name]);//设置pagename
$this->_set_nowindex($nowindex);//设置当前页
$this->_set_url($url);//设置链接地址
$this->totalpage=ceil($total/$perpage);
$this->offset=($this->nowindex-1)*$this->perpage;
if(!empty($array[ajax]))$this->open_ajax($array[ajax]);//打开ajax模式
}
/**
* 设定类中指定变量名的值,如果改变量不属于这个类,将throw一个exception
*
* @param string $var
* @param string $value
*/
function set($var,$value)
{
if(in_array($var,get_object_vars($this)))
$this->$var=$value;
else {
$this->error(__function__,$var." does not belong to pb_page!");
}
}
/**
* 打开倒ajax模式
*
* @param string $action 默认ajax触发的动作。
*/
function open_ajax($action)
{
$this->is_ajax=true;
$this->ajax_action_name=$action;
}
/**
* 获取显示"下一页"的代码
*
* @param string $style
* @return string
*/
function next_page($style=)
{
if($this->nowindex<$this->totalpage){
return $this->_get_link($this->_get_url(http://pic2.phprm.com/2013/09/05/$this->nowindex+1),$this->next_page,$style.jpg);
}
return <span class=".$style.">.$this->next_page.</span>;
}
/**
* 获取显示“上一页”的代码
*
* @param string $style
* @return string
*/
function pre_page($style=)
{
if($this->nowindex>1){
return $this->_get_link($this->_get_url(http://pic2.phprm.com/2013/09/05/$this->nowindex-1),$this->pre_page,$style.jpg);
}
return <span class=".$style.">.$this->pre_page.</span>;
}
php文件上传类与详解(1/2)
php教程 配置中的 upload_tmp_dir 这个参数进行比较,如果文件在这个目录下面,那么 move_uploaded_file 才会进行移动操作。而且这个比较是大小写敏感,/ 在windows 下面也是不一样的。而在php配置文件解析的时候,会调用一个realpath 函数,也就是是说,你在move_uploaded_file 之前,
php web系统多域名登录失败解决方法
下面只是简单的逻辑结构,对于正式的系统需要做具体的处理。
这里需要注意的是:加解密一定需要做安全验证。但是这个方法也不够完美,两个站点必须有相同一级域名;另外这种完全基于cookie/ target=_blank >cookie的方式,安全性不够高