php 验证码
首先验证码的原理就是,画一张图片,然后在这张图片上写一些字,然后加一些干扰的线条,像素点之类的东西就ok了,
这里要使用 php那就要知道php中画图的函数是那些,然后拿来用便是了。
如果要用php的画图函数,首先要启用这个模块的功能。就是把 php.ini中php_gd2.dll前面的注释去掉就好了。
下面开始画图: 继续阅读 »
首先验证码的原理就是,画一张图片,然后在这张图片上写一些字,然后加一些干扰的线条,像素点之类的东西就ok了,
这里要使用 php那就要知道php中画图的函数是那些,然后拿来用便是了。
如果要用php的画图函数,首先要启用这个模块的功能。就是把 php.ini中php_gd2.dll前面的注释去掉就好了。
下面开始画图: 继续阅读 »
只需要在fckconfig.js里增加
FCKConfig.ToolbarSets["Basic"] ;
把里面不需要的功能删了就可以了
继续阅读 »
(1)
PyObject是python中所有对象的基石。
typedef struct _object
{
int ob_refcnt ; //引用计数
struct _typeobject *ob_type ; //指向对象的类型对象
}PyObject ;
我们用PyObject可以表示整数对象这类定长对象,但是像字符串这类非定长对象,就不能用PyOject结构体。于是我们引入了表示这类对象的 结构体—PyVarObject
typetdef struct
{
int ob_refcnt ;
struct _typeobject * ob_type ;
int ob_size ;
}PyVarObject ;
ob_size 表示变长对象中容纳的元素个数。
阅读本文需要具有使用python编程的能力以及Web编程的经验,起码应该知道python是什么,Session是什么。初学者慎入,某些描述 语焉不详,小心误入歧途,欢迎高手踊跃拍砖。本文代码仅仅作为示例使用,用于说明在tornado中实现session的过程以及方法,未经过任何编译或 者运行,请勿直接copy到项目中使用,本人不对此行为造成的后果负任何责任。(此文实现内容源于商业项目,恕未能直接提供源码)
———————————————————-
tornado没有提供默认的会话,而很多敏感信息又没法用cookie存,tornado提供的secure_cookie只是解决了防止 cookie篡改而没法阻止数据被解密为明文,所以我就给tornado写了一个session的包来解决这个问题。嗯,我们来看看是如何从底层一砖一瓦 的来实现Session的功能。
根据项目的需要我采用Memcached作为Session的backend,当然你愿意用Mysql 或者是其他什么能存储数据的东西都行,比如文本文件或者mongodb,选择很多,所以我们将Session需要持久化的操作独立出来成为一个可以替换的 backend模块,我们可以根据配置使用不同的backend,由于python得ducktyping特性,要实现起来相当的简单,我们只需要提供包 含如下三个方法签名的类就行了 继续阅读 »
配置还是非常简单的,充分体现了nginx的强大与配置的简单^^下面是大致的服务器结构图:

应用的最前端是一台nginx服务器,所有静态的内容都由nginx来处理,而将所有php的 请求都分摊到下游的若干台运行php fastcgi守护进程的服务器中,这样可以以一种廉价的方案来实现对系统负载的分摊,扩展系统的负载能力。 继续阅读 »
1. 分号的例外
对于 MySQL ,第一件你必须牢记的是它的每一行命令都是用分号 (;) 作为结束的,但……没有完全绝对的事,在这儿也是一样,当一行 MySQL 被插入在 PHP 代码中时,最好把后面的分号省略掉,例如:
mysql_query (“INSERT INTO tablename (first_name, last_name)
VALUES (‘$first_name’, ‘$last_name’)
“);
这是因为 PHP 也是以分号作为一行的结束的,额外的分号有时会让 PHP 的语法分析器搞不明白,所以还是省略掉的好。在这种情况下,虽然省略了分号,但是 PHP 在执行 MySQL 命令时会自动的帮你加上的。
继续阅读 »
< ?
class document{
private $file_array=array();
private $folder_array=array();
private $all_array=array();
function search($path,$file){
if(is_dir($path)){
$H=opendir($path);
while(false!==($_file=readdir($H))){
if(is_dir($path."/".$_file)&&$_file!="." && $_file!=".." && $_file!=="Thumbs.db"){
if(eregi($file,$path."/".$_file)){
array_push($this->folder_array,$path."/".$_file);
}
$this->search($path."/".$_file,$file);
}elseif(is_file($path."/".$_file)&&$_file!="." && $_file!=".." && $_file!=="Thumbs.db"){
if(eregi($file,$_file)){
array_push($this->file_array,$path."/".$_file);
}
}
}
$this->all_array["folder"]=$this->folder_array;
$this->all_array["file"]=$this->file_array;
return $this->all_array;
closedir($H);
}elseif(is_file($path)){
if(eregi($file,$path)){
$this->all_array["file"]=$path;
}
return $this->all_array;
}else{
return $this->error("this folder does not exits,please check it out.");
}
}
}
?>
函数描述及例子
继续阅读 »
搜索引擎是为用户提供快速获取网页信息的工具,其主要的功能是系统通过用户输入关键字,检索后端网页数据库,将相关网页的链接和摘要信息反馈给用户。从搜 索的范围上一般分为站内网页搜索和全局网页搜索。随着网页数量的急剧增加,搜索引擎已经成为上网查询信息的必须手段,各个大型网站均已经提供网页数据搜索 服务,并且出现了许多为大型网站提供专业搜索引擎服务的公司,如为Yahoo提供搜索服务的Google,为新浪网和263等国内网站提供服务的百度公司 等。专业的搜索服务费用高而免费的搜索引擎软件基本都是基于英文的检索,所以都不太适合Intranet环境(如校园网等)的需要。
搜索引擎的基本组成一般分为网页收集程序、网页后端数据组织存储、网页数据检索三部分。决定搜索引擎好坏的关键因素是数据查询的响应时间,即如 何组织好满足全文检索需要的大量网页数据。 继续阅读 »
Zip:PclZiphttp://www.phpconcept.net/pclzip/index.en.php
Rar:PECL rarhttp://pecl.php.net/package/rar
以 往过去要在php下 执行解压缩程序,无非最常见的方法是写command 然后用exec()等执行函式去跑
这在Windows下或许可以,但换成Unix话会碍於帐号权限问题而无法顺利执行
那有没有那种本身就 有提供函式可以直接使用而不需要去下command去跑的方法呢
答案有(话说找了好几天才找到可以用的方法……XD)
先讲 Zip,由於php内建本身就有提供zip相关函式(但须先要有ziplib函式)但不是很好用
就光extract来讲,内建函式只负责单纯解压 缩档案出来,而不是会按照资料夹依序解压缩出来
这样就失去extract的作用
而要讲的 PclZip 这支,本身就有提供 extension 了,故有没有Ziplib就没差
且免安装,只需要再用他时 include 进来就可以了
例如:<?php include(‘pclzip.lib.php’); ?> 这样
此外在extract部分,则是会按照资料夹顺序依序解压缩出来,而并 非单纯解压缩档案出来
相关用法像这样
CODE: 继续阅读 »
近期评论