首页 > 作文

我常用的几个类

更新时间:2023-04-06 08:13:16 阅读: 评论:0

我常用的几个类 修改自hk的

php代码:——————————————————————————–

/*

作用:取得随机字符串

参数:

1、(int)$length = 32 #随机字符长度,默认为32

2、(int)$mode =最近发生的大事 0 #随机字符类型,0为大小写英文和数字,1为数字,2为小写子木,3为大写字母,4为大小写字母,5为大写字母和数字,6为小写字母和数字

返回:取得的字符串

使用:

$code = new activecodeobj;

$str = $code->getcode($length, $mode);

*/

class activecodeobj

{

function getcode ($length = 32, $mode = 0)

{

switch ($mode) {

ca ‘1’:

$str = ‘1234567890’;

break;

ca ‘2’:

$str = ‘abcdefghijklmnopqrstuvwxyz’;

break;

ca ‘3’:

$str = ‘abcdefghijklmnopqrstuvwxyz’;

break;

ca ‘4’:

$str = ‘abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz’;

break;

ca ‘5’:

$str = ‘abcdefghijklmnopqrstuvwxyz1234567890’;

break;

ca ‘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;

}

}

php代码:——————————————————————————–

/*

作用:取得客户端信息

参数:

返回:指定的资料

使用:

$code = new clientgetobj;

1、浏览器:$str = $code->getbrow();

2、ip地址:$str = $code->getip();

4、操作系统:$str = $code->getos();

*/

class clientgetobj

{

function getbrow()

{

global $_rver;

$agent = $_rver[‘http_ur_agent’];

$browr = ”;

$browrver = ”;

$browr = array(‘lynx’, ‘mosaic’, ‘aol’, ‘opera’, ‘java’, ‘macweb’, ‘webexplorer’, ‘omniweb’);

for($i = 0; $i <= 7; $i ++){

if(strpos($agent, $browrs[$i])){

$browr = $browrs[$i];

$browrver = ”;

}

}

if(ereg(‘mozilla’, $agent) && !ereg(‘msie’, $agent)){

$temp = explode(‘(‘, $agent);

$part = $temp[0];

$temp = explode(‘/’, $part);

$browrver = $temp[1];

$temp = explode(‘ ‘, $browrver);

$browrver = $temp[0];

$browrver = preg_replace(‘/([d.]+)/’, ‘\1’, $browrver);

$browrver = $browrver;

$browr = ‘netscape navigator’;

}

if(ereg(‘mozilla’, $agent) && ereg(‘opera’, $agent)) {

$temp = explode(‘(‘, $agent);

$part = $temp[1];

$temp = explode(‘)’, $part);

$browrver = $temp[1];

$temp = explode(‘ ‘, $browrver);

$browrver = $temp[2];

$browrver = preg_replace(‘/([d.]+)/’, ‘\1’, $browrver);

$browrver = $browrver;

$browr = ‘opera’;

}

if(ereg(‘mozilla’, $agent) && ereg(‘msie’, $agent)){

$temp = explode(‘(‘, $agent);

$part = $temp[1];

$temp = explode(‘;’, $part);

$part = $temp[1];

$temp = explode(‘ ‘, $part);

$browrver = $temp[2];

$browrver = preg_replace(‘/([d.]+)/’,’\1′,$browrver);

$browrver = $browrver;

$browr = ‘internet explorer’;

}

if($browr != ”){

$browinfo = $browr.’ ‘.$browrver;

} el {

$browinfo = fal;

}

return $browinfo;

}

function getip ()

{

glob360云盘怎么用al $_rver;

if (getenv(‘http_client_ip’)) {

$ip = getenv(‘http_client_ip’);

} el if (getenv(‘http_x_forwarded_for’)) {

$ip = getenv(‘http_x_forwarded_for’);

} el if (getenv(‘remote_addr’)) {

$ip = getenv(‘remote_addr’);

} el {

$ip = $_rver[‘remote_addr’];

}

return $ip;

}

function getos ()

{

global $_rver;

$agent = $_rver[‘http_ur_agent’];

$os = fal;

if (eregi(‘win’, $agent) && strpos($agent, ’95’)){

$os = ‘windows 95’;

}

el if (eregi(‘win 9x’, $agent) && strpos($agent, ‘4.90’)){

$os = ‘windows me’;

}

el if (eregi(‘win’, $agent) && ereg(’98’, $agent)){

$os = ‘windows 98’;

}

el if (eregi(‘win’, $agent) && eregi(‘nt 5.1’, $agent)){

$os = ‘windows xp’;

}

el if (eregi(‘win’, $agent) && eregi(‘nt 5’, $agent)){

$os = ‘windows 2000’;

}

el if (eregi(‘win’, $agent) && eregi(‘nt’, $agent)){

$os = ‘windows nt’;

}边塞诗派

el if (eregi(‘win’, $agent) && ereg(’32’, $agent)){

$os = ‘windows 32’;

}

el if (eregi(‘linux’, $agent)){

$os = ‘linux’;

}

el if (eregi(‘unix’, $agent)){

$os = ‘unix’;

}

el if (eregi(‘sun’, $agent) && eregi(‘os’, $agent)){

$os = ‘sunos’;

}

el if (eregi(‘ibm’, $agent) && eregi(‘os’, $agent)){

$os = ‘ibm os/2’;

}

el if (eregi(‘mac’, $agent) && eregi(‘pc’, $agent)){

$os = ‘macintosh’;

}

el if (eregi(‘powerpc’, $agent)){

$os = ‘powerpc’;

}

el if (eregi(‘aix’, $agent)){

$os = ‘aix’;

}

el if (eregi(‘hpux’, $agent)){

$os = ‘hpux’;

}

el if (eregi(‘netbsd’, $agent)){

$os = ‘netbsd’;

}

el if (eregi(‘bsd’, $agent)){

$os = ‘bsd’;

}

el if (ereg(‘osf1’, $agent)){

$os = ‘osf1’;

}

el if (ereg(‘irix’, $agent)){

$os = ‘irix’;

}

el if (eregi(‘freebsd’, $agent)){

$os = ‘freebsd’;

}

el if (eregi(‘teleport’, $agent)){

$os = ‘teleport’;

}

el if (eregi(‘flashget’, $agent)){

$os = ‘flashget’;

}

el if (eregi(‘webzip’, $agent)){

$os = ‘webzip’;

}

el if (eregi(‘offline’, $agent)){

$os = ‘offline’;

}

el {

$os = ‘unknown’;

}

return $os;

}

}

php代码:——————————————————————————–

class cnstrobj

{

function substrgb ($str = ”, $start = ”, $len = ”){

if($start == 0

$start == ”){

$start = 1;

}

if($str == ”

$len == ”){

return fal;

}

for($i = 0; $i < $start + $len; $i ++){

$tmpstr = (ord($str[$i]) >= 161 && ord($str[$i]) <= 247&& ord($str[$i+1]) >= 161 && ord($str[$i+1]) <= 254)?$str[$i].$str[++$i]:$tmpstr = $str[$i];

if ($i >= $start && $i < ($start + $len))

{

$tmp .=$tmpstr;

}

}

return $tmp;

}

function isgb ($str)

{

$strlen = strlen($str);

$length = 1;

for($i = 0; $i < $strlen; $i ++) {

$tmpstr = ord(substr($str, $i, 1));

$tmpstr2 = ord(substr($str, $i+1, 1));

if(($tmpstr <= 161

$tmpstr >= 247) && ($tmpstr2 <= 161

$tmpstr2 >= 247)){

$legalflag = fal;

} el {

$legalflag = true;

}

}

return $legalflag;

}

}

php代码:——————̵描写仙境的诗句2;———————————————————–

<?php

/***************************************

** filename…….: class.smtp.inc

** project……..: smtp class

** version……..: 1.00b

** last modified..: 30 ptember 2001

***************************************/

define(‘smtp_status_not_connected’, 1, true);

define(‘smtp_status_connected’, 2, true);

class smtp{

var $connection;

var $recipients;

var $headers;

var $timeout;

var $errors;

var $status;

var $body;

var $from;

var $host;

var $port;

var $helo;

var $auth;

var $ur;

var $pass;

/***************************************

** constructor function. arguments:

** $params – an assoc array of parameters:

**

** host – the hostname of the smtp rver default: localhost

** port – the port the smtp rver runs on default: 25

** helo – what to nd as the helo command default: localhost

** (typically the hostname of the

** machine this script runs on)

** auth – whether to u basic authentication default: fal

** ur – urname for authentication default: <blank>

** pass – password for authentication default: <blank>

** timeout – the timeout in conds for the call default: 5

** to fsockopen()

***************************************/

function smtp($params = array()){

if(!defined(‘crlf’))

define(‘crlf’, “\r\n”, true);

$this->timeout = 5;

$this->status = smtp_status_not_connected;

$this->host = ‘localhost’;

$this->port = 25;

$this->helo = ‘localhost’;

$this->auth = fal;

$this->ur = ”;

$this->pass = ”;

$this->errors = array();

foreach($params as $key => $value){

$this->$key = $value;

}

}

/***************************************

** connect function. this will, when called

** statically, create a new smtp object,

** call the connect function (ie this function)

** and return it. when not called statically,

** it will connect to the rver and nd

** the helo command.

***************************************/

function connect($params = array()){

if(!ist($this->status)){

$obj = new smtp($params);

if($obj->connect()){

$obj->status = smtp_status_connected;

}

return $obj;

}el{

$this->connection = fsockopen($this->host, $this->port, $errno, $errstr, $this->timeout);

socket_t_timeout($this->connection, 0, 250000);

$greeting = $this->get_data();

if(is_resource($this->connection)){

return $this->auth ? $this->ehlo() : $this->helo();

}el{

$this->errors[] = ‘failed to connect to rver: ‘.$errstr;

return fal;

}

}

}

/***************************************

** function which handles nding the mail.

** arguments:

** $params – optional assoc array of parameters.

** can contain:

** recipients – indexed array of recipients

** from – the from address. (ud in mail from<img src=”images/smilies/smile.gif” border=”0″ alt=””>,

** this will be the return path

** headers – indexed array of headers, one header per array entry

** body – the body of the email

** it can also contain any of the parameters from the connect()

** function

***************************************/

function nd($params = array()){

foreach($params as $key => $value){

$this->t($key, $value);

}

if($this->is_connected()){

// do we auth or not? note the distinction between the auth variable and auth() function

if($this->auth){

if(!$this->auth())

return fal;

}

$this->mail($this->from);

if(is_array($this->recipients))

foreach($this->recipients as $value)

$this->rcpt($value);

el

$this->rcpt($this->recipients);

if(!$this->data())

return fal;

// transparency

$headers = str_replace(crlf.’.’, crlf.’..’, trim(implode(crlf, $this->headers)));

$body = str_replace(crlf.’.’, crlf.’..’, $this->body);

$body = $body[0] == ‘.’ ? ‘.’.$body : $body;

$this->nd_data($headers);

$this->nd_data(”);

$this->nd_data($body);

$this->nd_data(‘.’);

return (substr(trim($this->get_data()), 0, 3) === ‘250’);

}el{

$this->errors[] = ‘not connected!’;

return fal;

}

}

/***************************************

** function to implement helo cmd

***************************************/

function helo(){

if(is_resource($this->connection)

and $this->nd_data(‘helo ‘.$this->helo)

and substr(trim($error = $this->get_data()), 0, 3) === ‘250’ ){

return true;

}el{

$this->errors[] = ‘helo command failed, output: ‘ . trim(substr(trim($error),3));

return fal;

}

}

/***************************************

** function to implement ehlo cmd

***************************************/

function ehlo(){

if(is_resource($this->connection)

and $this->nd_data(‘ehlo ‘.$this->helo)

and substr(trim($error = $this->get_data()), 0, 3) === ‘250’ ){

return true;

}el{

$this->errors[] = ‘ehlo command failed, output: ‘ . trim(substr(trim($error),3));

return fal;

}

}

/***************************************

** function to implement auth cmd

***************************************/

function auth(){

if(is_resource($this->connection)

and $this->nd_data(‘auth login’)

and substr(trim($error = $this->get_data()), 0, 3) === ‘334’

and $this->nd_data(ba64_encode($this->ur)) // nd urname

and substr(trim($error = $this->get_data()),0,3) === ‘334’

and $this->nd_data(ba64_encode($this->pass)) // nd password

and substr(trim($error = $this->get_data()),0,3) === ‘235’ ){

return true;

}el{

$this->errors[] = ‘auth command failed: ‘ . trim(substr(trim($error),3));

return fal;

}

}

/***************************************

** function that handles the mail from: cmd

*****************************9月15号**********/

function mail($from){

if($this->is_connected()

and $this->nd_data(‘mail from:<‘.$from.’>’)

and substr(trim($this->get_data()), 0, 2) === ‘250’ ){

return true;

}el

return fal;

}

/***************************************

** function that handles the rcpt to: cmd

***************************************/

function rcpt($to){

if($this->is_connected()

and $this->nd_data(‘rcpt to:<‘.$to.’>’)

and substr(trim($error = $this->get_data()), 0, 2) === ’25’ ){

return true;

}el{

$this->errors[] = trim(substr(trim($error), 3));

return fal;

}

}

/***************************************

** function that nds the data cmd

***************************************/

function data(){

if($this->is_connected()

and $this->nd_data(‘data’)

and substr(trim($error = $this->get_data()), 0, 3) === ‘354’ ){

return true;

}el{

$this->errors[] = trim(substr(trim($error), 3));

return fal;

}

}

/***************************************

** function to determine if this object

** is connected to the rver or not.

***************************************/

function is_connected(){

return (is_resource($this->connection) and ($this->status === smtp_status_connected));

}

/***************************************

** function to nd a bit of data

***************************************/

function nd_data($data){

if(is_resource($this->connection)){

return fwrite($this->connection, $data.crlf, strlen($data)+2);

}el

return fal;

}

/***************************************

** function to get data.

***************************************/

function &get_data(){

$return = ”;

$line = ”;

if(is_resource($this->connection)){

while(strpos($return, crlf) === fal or substr($line,3,1) !== ‘ ‘){

$line = fgets($this->connection, 512);

$return .= $line;

}

return $return;

}el

return fal;

}

/***************************************

** ts a variable

***************************************/

function t($var, $value){

$this->$var = $value;

return true;

}

} // end of class

?>

用 php 动态创建 flash 动画 (rate:) (转)

作者: unknow 发布时间: 2002-7-11 文章类型: 转载 阅读次数: 124次 来自: unknow

macromedia 公司出品的 flash 动画软件现已经成为web页面上非常流行的表现工具,网站开发者利用它引起浏览者的兴趣。然而不幸的是,仅仅使用actionscript创建动画受到很大的限制,macromedia已经宣布,打算放弃flash generator产品,转而采用支持flash mx的cold fusion,我们的网站将向何处去呢?现在,我们可以利用ming php库来轻松地动态创建flash动画,并且和我们的代码无缝集成。我们可以根据数据库里的数据创建出各种不同效果的动画。

ming 动画库最初出现在php4.05版本里,替代了以前版本的libswf模块。ming 库采用c编写,支持多种语言,下面先看一下如何利用php来制作动画。该库使用简单,和 php 紧密集成,但是,该库仍然处于实验阶段,目前的版本是0.2a,在线的教程、例子、和帮助手册可以让我们方便地学习,ming里的函数组织的很有条理,方便php和flash开发者查找。使用 php和ming库,不但让我们的网站有华丽的装饰,而且可以减少开发flash动画的费用和繁复的劳动。

使用ming库有两种方式,我们可以内嵌到php里(对unix平台而言),也可以把它作为一个php模块来运行,里面的函数支持所有的平台,使用时也无需实例化。如果我们把ming库作为php模块来运行的话,我们必须明确地调用ming库,和使用其他模块一样,然后使用该库里的函数。由于使用前必须先加载模块,与把ming作为内部函数编译的方式相比,要有一点性能的下降。

ming库是完全免费的,我们可以到创作者的网站下载,地址是:[url]http://www.opaque.net/ming/[/url],该网站….php.net/ming。

一旦我们正确安装和配置了ming库,我们可以创建一个php对象,从php里调用ming的函数,通过调用函数和属性,就可以定义我们的动画了。在php模块里有13个对象,提供了flash的一些功能,也有几个命令可以来控制发行时的参数设定。下面就看看如何利用它来创建动画。

使用macromedia flash创建swf格式的动画,我们先创建一些符号,flash有三种类型的符号:图形、动画剪辑、按钮。一旦我们创建了这些符号,我们就可以把它们复制到场景里,每一个拷贝称为一个实例,可以放任意多的实例到我们的场景里。接下来就可以定义这些对象的行为了,也就是定义动作和运动轨迹,也可以定义动画的参数,如尺寸大小和背景颜色,如果需要,可以保存成.swf文件。

利用php的ming库创建flash动画,和macromedia flash一样,必须先创建一些符号,这些符号就是php对象的实例,然后定义这些对象在动画场景里的位置和相互关系,接着定义对象在每一帧里的动作,最后定义动画自己。我们可以直接把swf直接输出到浏览器,也可以保存成swf格式的文件,以备后用。flash的优点就是图形化的用户接口,利用ming库不但可以更加简单的控制对象,而且具有无限的扩展性和再用性。

下面我们就用一个完整的例子来看看如何使用ming库:

<?php

/* 首先创建一个符号,并填充颜色 */

$square = new swfshape();

$sqfill = $square->addfill(0, 0, 0xff);

$square->trightfill($sqfill);

$square->movepento(-250,-250);

$square->drawlineto(250,-250);

$square->drawlineto(250,250);

$square->drawlineto(-250,250);

$square->drawlineto(-250,-250);

/* 在动画剪辑里使用上面的符号,并添加一些脚本 */

$sqclip = new swfsprite();

$i = $sqclip->add($square);

$i->tdepth(1);

$sqclip->tframes(25);

$sqclip->add(new swfaction(“stop();”));

$sqclip->nextframe();

$sqclip->add(new swfaction(“play();”));

for($n=0; $n<24; $n++) {

$i->rotate(-15);

$sqclip->nextframe();

}

/* 下面创建按钮 */

function rect($r, $g, $b) {

$s = new swfshape();

$s->trightfill($s->addfill($r, $g, $b));

$s->drawline(500,0);

$s->drawline(0,500);

$s->drawline(-500,0);

$s->drawline(0,-500);

return $s;

}

$b = new swfbutton();

$b->addshape(rect(0xff, 0, 0), swfbutton_up | swfbutton_hit);

$b->addshape(rect(0, 0xff, 0), swfbutton_over);

$b->addshape(rect(0, 0, 0xff), swfbutton_down);

$b->addaction(new swfaction(“ttarget(‘/box’); gotoandplay(2);”), swfbutton_moudown);

/* 下面创建动画,并添加上面的符号和按钮 */

$m = new swfmovie();

$m->tdimension(4000,3000);

$i = $m->add($sqclip);

$i->tdepth(3);

$i->moveto(1650, 400);

$i->tname(“box”);

$i = $m->add($b);

$i->tdepth(2);

$i->moveto(1400,900);

/* 最后,我们把它输出到浏览器 */

header(‘content-type: application/x-shockwave-flash’);

$m->output();

?>

本文发布于:2023-04-06 08:13:13,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/c40aaa0c676b03433f932f1a53e0304a.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:我常用的几个类.doc

本文 PDF 下载地址:我常用的几个类.pdf

标签:动画   符号   定义   对象
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图