取得随机数

 更新时间:2016年11月25日 16:13  点击:2162

作用:取得随机字符串

参数:

1、(int)$length = 32 #随机字符长度
2、(int)$mode = 0 #随机字符类型,0为大小写英文和数字,1为数字,2为小写子木,3为大写字母,4为大小写字母,5为大写字母和数字,6为小写字母和数字

返回:取得的字符串
<?php
class activeCodeObj
{
function getCode ($length = 32, $mode = 0)
{
switch ($mode) {
case '1':
$str = '1234567890';
break;
case '2':
$str = 'abcdefghijklmnopqrstuvwxyz';
break;
case '3':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case '4':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
break;
case '5':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
break;
case '6':
$str = 'abcdefghijklmnopqrstuvwxyz1234567890';
break;
default:
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';
break;
}

$result = '';
$l = strlen($str);

for($i = 0;$i < $length;$i ){
$num = rand(0, $l);
$result .= $str[$num];
}
return $result;
}
}
?>

使用说明:

1.将以上框内代码另存为random.php

2.在需要地页面引入random.php
<?php incude('random.php'); ?>

3. 使用之前定义的类
<?php
$code = new activeCodeObj;
$length = 32;
$mode = 0;
$str = $code->getCode($length, $mode);
echo $str;
?>

第一种方法:定义通用函数

function shownext(){
global $thisid;
$query="select * from TABLE_NAME where id>$thisid order by id limit 1";
$result=mysql_query($query);
if($result=0){
echo "已经是第一个主题了";
}else{
if($row=mysql_fetch_array($result))
$nextid=$row["id"];
echo "<a href='xxx.php?id=<?=$nextid?>'>下一主题</a>";
}
}

function showpre(){
global $thisid;
$query="select * from TABLE_NAME where id<$thisid order by id limit 1";
$result=mysql_query($query);
if($result=0){
echo "已经是最后一个主题了";
}else{
if($row=mysql_fetch_array($result))
$preid=row["id"];
echo "<a href='xxx.php?id=<?=$preid>'>上一主题</a>";
}
}



这里的 $thisid 为当前主题的id


第二种方法:假设有一个主题链接为 (当前id为100)

detail.php?id=100&action=pre

或者

detail.php?id=100&action=next

然后在主题显示页面detail.php取记录时使用如下条件语句

switch($acttion) {
case 'next':
$sql = "select * from table where id > $id limit 0,1";
break;
case 'prev':
$sql = "select * from table where id < $id order by id desc limit 0,1";
break;
default:
$sql = "select * from table where id = $id";
}

变量 $file_name 可以来自上传域或者指定为其他

<?//方法一:
function extend($file_name)
{
$retval="";
$pt=strrpos($file_name, ".");
if ($pt) $retval=substr($file_name, $pt 1, strlen($file_name) - $pt);
return ($retval);
}

//方法二(php4.03及更高版本)
$extend = pathinfo($file_name);
$extend = strtolower($extend["extension"]);
echo $extend;
?>

wget http://bart.eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2 tar jxf eaccelerator-0.9.5.2.tar.bz2 [@wcms_web eaccelerator-0.9.5.2]# export PHP_PREFIX=\'/usr/local/bin\'
[@wcms_web eaccelerator-0.9.5.2]# $PHP_PREFIX/phpize
★ ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/php-config (PHP4版本编译) ◆ ./configure --enable-eaccelerator=shared --with-eaccelerator-shared-memory --with-php-config=$PHP_PREFIX/php-config (php5版本需要加 --with-eaccelerator-shared-memory) #上面~需要拼到whereis phpize /usr/local/bin/phpize 这个目录即可 [@wcms_web eaccelerator-0.9.5.2]# make
[@wcms_web eaccelerator-0.9.5.2]# make install
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20050922/
创建专用的缓存目录:
mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator 然后设置 php.ini, 重启一下apache:
/home/apache/bin/apachectl restart 说明PHP 与 eAccelerator 也需要版本对称才可以. 现PHP Version 5.1.6 与~eaccelerator-0.9.5.1就可以了~ ########################################################################### 设置 php.ini 如下设置:;eAccelerator
extension="/usr/local/lib/php/extensions/no-debug-non-zts-20050922/eaccelerator.so"
eaccelerator.shm_size = "1024"
eaccelerator.cache_dir = "/var/cache/eAcache"
eaccelerator.enable = "1"
eaccelerator.optimizer = "1"
eaccelerator.debug = "0"
eaccelerator.check_mtime = "1"
eaccelerator.filter = ""
eaccelerator.shm_max = "0"
eaccelerator.shm_ttl = "7200"
eaccelerator.shm_only = "1"
eaccelerator.compress = "1"
eaccelerator.compress_level = "3"
eaccelerator.keys = "shm_only"
eaccelerator.sessions = "shm_only"
eaccelerator.content = "shm_only"
--------------------------------------------------------------------------------
;extension="eaccelerator.so"
zend_extension="/usr/lib/php4/eaccelerator.so"
;zend_extension_ts="/usr/lib/php4/eaccelerator.so"
;extension="eaccelerator.dll"
;zend_extension_ts="c:\\php4\\eaccelerator.dll"
;zend_extension="c:\\php4\\eaccelerator.dll" 您必须取消一条注释 (而且同时只能是一条被取消) 以便使用下面的描述来装载 eAccelerator 的扩展.
eAccelerator 兼容于 Zend Optimizer’s loader. Zend Optimizer 在 eAccelerator 的安装结束进行后必须在 php.ini 中配置. 假如您不 使用用脚本来编码的 Zend Encoder ,那么我们不推荐您安装成 Zend Optimizer 加上 eAccelerator 这种模式.
--------------------------------------------------------------------------------
eaccelerator.shm_size = "64" eAccelerator 可以使用的共享内存的数量 (以兆为单位) . "0" 是指操作系统的默认值. 默认值是 "0".
--------------------------------------------------------------------------------
eaccelerator.cache_dir = "/tmp/eaccelerator" 这个目录是给磁盘缓存使用. eAccelerator 在这里储存预先编译好的代码, 进程数据, 内 容以及用户的自定义内容. 同样的数据也能被储存在共享内存中 (这样可以提高访问速度). 默认的设置是 "/tmp/eaccelerator".
--------------------------------------------------------------------------------
eaccelerator.enable = "1" 打开或者关闭 eAccelerator. "1" 是指打开, "0" 是指关闭. 默认值是 "1".
--------------------------------------------------------------------------------
eaccelerator.optimizer = "1" 打开或者关闭内置的 peephole optimizer,它可以提高代码的执行速度. "1" 是指打开, "0" 是指关闭. 默认 值是 "1".
--------------------------------------------------------------------------------
eaccelerator.debug = "0" 打开或者关闭调试记录. "1" 是指打开, "0" 是指关闭. 默认值是 "0".
--------------------------------------------------------------------------------
eaccelerator.check_mtime = "1" 打开或者关闭 PHP 的文件修改检查. "1" 是指打开, "0" 是指关闭. 假如您在修改以后重新编译 PHP 的文 件,那么您应当设置为 "1". 默认值是 "1".
--------------------------------------------------------------------------------
eaccelerator.filter = "" 决定哪些 PHP 文件应该被缓存. 您可以指定一个范围 (比如 "*.php *.phtml"),这样被指定的文件就会被缓存或 者被排出在外. 假如使用字符 "!" 来指定这个范围, 符合这个范围的文件就被排出在外. 默认值是 "" ,意思是说 - 所有的 PHP 脚本都会被 缓存.
--------------------------------------------------------------------------------
eaccelerator.shm_max = "0" 利用 "eaccelerator_put()" 这个功能选项来关闭在共享内存中加载大量数据. 它指出最大的被答应的大小,以 字节为单位 (10240, 10K, 1M). 使用 "0" 来关闭这个限制. 默认值是 "0".


--------------------------------------------------------------------------------
eaccelerator.shm_ttl = "0" 当 eAccelerator 尝试从共享内存中获得数据来创建新的脚本缓存但失败以后,它从共享内存中删除所有的至少 在 "shm_ttl" 秒以前没有被访问的脚本。默认值是 "0" ,意思是说 - 不要从共享内存中删除任何文件.
--------------------------------------------------------------------------------
eaccelerator.shm_prune_period = "0" 当 eAccelerator 尝试从共享内存中获得数据来创建新的脚本缓存但失败以后,它尝试删除旧的脚本, 前提是在这之前的这个尝试在超过 "shm_prune_period" 秒之前被执行. 默认值是 "0" ,意思是说 - 不要尝试从共享内存中删除任何文件.
--------------------------------------------------------------------------------
eaccelerator.shm_only = "0" 打开或者关闭在磁盘上缓存编译过的脚本. 这个参数对会话数据和内容缓存没有效果. 默认值是 "0" ,意思是 说 - 使用磁盘和共享内存来缓存。
--------------------------------------------------------------------------------
eaccelerator.compress = "1" 打开或者关闭缓存后的内容压缩. 默认值是 "1" ,意思是说打开压缩.
--------------------------------------------------------------------------------
eaccelerator.compress_level = "9" 内容缓存后被压缩的程度. 默认值是 "9" ,意思是说使用最大程度的压缩率。
--------------------------------------------------------------------------------
eaccelerator.keys = "shm_and_disk"
eaccelerator.sessions = "shm_and_disk"
eaccelerator.content = "shm_and_disk" 决定哪些 keys, 会话数据和内容被缓存. 可能的值是: "shm_and_disk", 在共享内存中和磁盘上缓存数据 (默认值)
"shm", 在共享内存中或者磁盘上缓存数据,假如共享内存被使用的尺寸已经超过 "eaccelerator.shm_max" 所定义的范围。
"shm_only", 在共享内存中缓存数据
"disk_only", 在磁盘上缓存数据
"none", 不缓存任何数据 --------------------------------------------------------------------------------
eaccelerator.admin.name="yourusername"
eaccelerator.admin.password="yourpassword" 您可以使用 eaccelerator.php 通过网页的页面来治理 eAccelerator. 您应该把这个文件放 在您的网站上. 为了安全,推荐您不要通过您本地的IP地址来访问这个脚本。 创建 eAccelerator 的密码 php -q eaccelerator_password.php
改变网页页面方式访问 (eaccelerator.php)这个文件的访问密码 Enter admin name: admin
New admin password: eaccelerator
Retype new admin password: eaccelerator

SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界闻名的数据库治理系统来讲,它的处理速度比他们都快。

SQLite虽然很小巧,但是支持的SQL语句不会逊色于其他开源数据库,它支持的SQL包括:

ATTACH DATABASE
BEGIN TRANSACTION
comment
COMMIT TRANSACTION
COPY
CREATE INDEX
CREATE TABLE
CREATE TRIGGER
CREATE VIEW
DELETE
DETACH DATABASE
DROP INDEX
DROP TABLE
DROP TRIGGER
DROP VIEW
END TRANSACTION
EXPLAIN
expression
INSERT
ON CONFLICT clause
PRAGMA
REPLACE
ROLLBACK TRANSACTION
SELECT
UPDATE

同时它还支持事务处理功能等等。也有人说它象Microsoft的Access,有时候真的觉得有点象,但是事实上它们区别很大。比如SQLite支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不象Access一样需要Office的支持。假如你是个很小型的应用,或者你想做嵌入式开发,没有合适的数据库系统,那么现在你可以考虑使用SQLite。目前它的最新版本是 3.2.2,它的官方网站是:http://www.sqlite.org,能在上面获得源代码和文档。同时因为数据库结构简单,系统源代码也不是很多,也适合想研究数据库系统开发的专业人士。

现在我们开始简单的介绍,主要我是想讲清楚几个问题,一是如何安装使用,二是如何跟PHP结合开发。

一、安装

1. Windows平台

下载windows下的文件,其实就是一个命令行程序,(下载地址:http://www.sqlite.org/sqlite-3_2_2.zip),这个命令行程序用来包括生成数据库文件、执行SQL查询、备份数据库等等功能。
下载后比如我们解压缩到 D:Downloadssqlitesqlite-3_2_2 这个目录下,那么我们进入cmd,并且进入该目录:
cd D:Downloadssqlitesqlite-3_2_2
D:Downloadssqlitesqlite-3_2_2>sqlite3 test.db
# 假如test.db不存在,那么就产生一个数据库文件,假如存在就直接使用该数据库文件,相当于mysql中的use
SQLite version 3.2.2
Enter ".help" for instructions
sqlite>
# SQLite的提示符,假如想查看命令帮助输入 .help,在sqlite中所有系统命令都是 . 开头的:
sqlite> .help
.databases List names and files of attached databases
.dump ?TABLE? ... Dump the database in an SQL text format
.echo ON|OFF Turn command echo on or off
.exit Exit this program
.explain ON|OFF Turn output mode suitable for EXPLAIN on or off.
.header(s) ON|OFF Turn display of headers on or off
.help Show this message
.import FILE TABLE Import data from FILE into TABLE
.indices TABLE Show names of all indices on TABLE
.mode MODE ?TABLE? Set output mode where MODE is one of:
csv Comma-separated values
column Left-aligned columns. (See .width)
html HTML <table> code
insert SQL insert statements for TABLE
line One value per line
list Values delimited by .separator string
tabs Tab-separated values
tcl TCL list elements
.nullvalue STRING Print STRING in place of NULL values
.output FILENAME Send output to FILENAME
.output stdout Send output to the screen

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • c# 数据类型占用的字节数介绍

    本篇文章主要是对c#中数据类型占用的字节数进行了详细的介绍。需要的朋友可以过来参考下,希望对大家有所帮助...2020-06-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • Nest.js参数校验和自定义返回数据格式详解

    这篇文章主要给大家介绍了关于Nest.js参数校验和自定义返回数据格式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-28
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • C#中decimal保留2位有效小数的实现方法

    这篇文章主要介绍了C#中decimal保留2位有效小数的实现方法,针对decimal变量保留2位有效小数有多种方法,可以使用Math.Round方法以及ToString先转换为字符串等操作来实现。具体实现方法感兴趣的朋友跟随小编一起看看吧...2020-06-25
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • 超简洁java实现双色球若干注随机号码生成(实例代码)

    这篇文章主要介绍了超简洁java实现双色球若干注随机号码生成(实例代码),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-04-02
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • Java生成随机姓名、性别和年龄的实现示例

    这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
  • 解决Springboot get请求是参数过长的情况

    这篇文章主要介绍了解决Springboot get请求是参数过长的情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-17
  • C# 获取当前月份天数的三种方法总结

    本篇文章主要是对C#中获取目前月份的天数的三种方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助...2020-06-25