検索
ホームページphp教程php手册私がよく使ういくつかのカテゴリー

私がよく使ういくつかのカテゴリー

Jun 13, 2016 pm 12:43 PM
phpコード改訂いくつかの使用親切


私がよく使ういくつかのカテゴリー 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) {
case '1' :
$ str = '1234567890';
break;
case '2':
$ str = 'abcdefghijklmnopqrstuvwxyz';
case '3':
🎜>case '4 ':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
ブレーク;
case ' 5':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ12 34567890'; 6':
$str = 'abcdefghijklmnopqrstuvwxyz1234567890';
ブレーク;
デフォルト:
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';
ブレーク; = '; $l);
$result .= $str[$num];
}
} return $result;
}
}



PHP コード:--------------------- ----------------------------------------------------- --------
/*
関数: クライアント情報の取得
パラメータ:
戻り: 指定されたデータ
使用:
$code = new clientGetObj;
1. ブラウザ: $str = $code->getBrowse();
2. IP アドレス : $str = $code->getIP();
4. オペレーティング システム: $str = $code ->getOS();
*/

class clientGetObj
{
function getBrowse()
{
global $_SERVER;
$Agent = $_SERVER ['HTTP_USER_AGENT'];
$browser = '';
$brow サーバー = '';
$Browser = array('Lynx', 'MOSAIC', 'AOL', 'Opera', ' JAVA', 'MacWeb', 'WebExplorer', 'OmniWeb');
for($i = 0 ; $i If(strpos($Agent, $Browsers[ $i])){
$browser = $Browsers[$i];
$browserver = '';
}
}
if(ereg('Mozilla', $Agent) && !ereg('MSIE', $Agent)){
$temp =explode('(', $Agent);
$Part = $ temp[0];
$temp =explode('/', $Part);
$browserver = $temp[1];
$temp =explode(' ', $browserver);
$ browserver = $ temp [0];
$ browserver = preg_replace( '/([d。])/'、 '1'、$ browserver);
$ browserver;
$ $ $ browser = 'Netscape Navigator';
}
if(ereg('Mozilla', $Agent) && ereg('Opera', $Agent)) {
$temp =explode('(', $ Agent);
$Part = $temp[1];
$temp =explode(')', $Part);
$browserver = $temp[1];
$temp =explode (' ', $browserver);
$browserver = $temp[2];
$browserver = preg_replace('/([d.] )/', '1', $browserver);
$browserver = $browserver;
$browser = 'Opera';
}
if(ereg('Mozilla', $Agent) && ereg('MSIE', $Agent)){
$ temp =explode('(', $Agent);
$Part = $temp[1];
$temp =explode(';', $Part);
$Part = $temp[1 ];
$temp =explode(' ', $Part);
$browserver = $temp[2];
$browserver = preg_replace('/([d.] )/','1 ',$browserver);
$browserver = $browserver;
$browser = 'Internet Explorer';
}
if($browser != ''){
$browseinfo = $ '.$browserver;
} else {
$browseinfo = false;
}
return $browseinfo;
}

function getIP ()
{
global $_SERVER;
if (getenv('HTTP_CLIENT_IP')) {
$ip = getenv('HTTP_CLIENT_IP');
} else if (getenv('HTTP_X_FORWARDED) _FOR')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
} else if (getenv('REMOTE_ADDR')) {
$ip = getenv('REMOTE_ADDR');
} else {
$ ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}

function getOS ()
{
global $_SERVER;
$エージェント = $_SERVER['HTTP_USER_AGENT'];
$os = false;
if (eregi('win', $agent) && strpos($agent, '95')){
$os = 'Windows 95';
}
else if (eregi('win 9x', $agent) && strpos($agent, '4.90')){
$os = 'Windows ME';
}
else if (eregi('win', $agent) && ereg('98', $agent)){
$os = 'Windows 98';
}
else if (regi('win', $agent) && regi('nt 5.1',​​ $agent)){
$os = 'Windows XP';
}
else if (regi ('win', $agent) && eregi('nt 5', $agent)){
$os = 'Windows 2000';
}
else if (eregi('win', $agent ) && eregi('nt', $agent)){
$os = 'Windows NT';
}
else if (eregi('win', $agent) && ereg('32 ', $agent)){
$os = 'Windows 32'; }
else if (regi('unix', $agent)){
$os = 'Unix';
}
else if (regi('sun', $agent) && regi('os', $agent)){
$os = 'SunOS';
$os = 'IBM OS/2'; 'Macintosh';
}
else if (regi('PowerPC', $agent)){
$os = 'PowerPC';
}
else if (regi('AIX' , $agent)){
$os = 'AIX'; { 🎜> $os = 'BSD'; ereg('IRIX', $agent)){
$os = ';
}
else if (regi('teleport', $agent)){
$os = 'teleport';
}
else if (regi('flashget', $agent)) {
$os = 'flashget'; 🎜> else if (eregi('offline', $agent)){
$os = 'offline';
}
else {
$ os = '不明';
}
return $os;
}

}

PHP コード:------------- ---------- -------------------------------------- ---------- ------
class cnStrObj
{
function substrGB ($str = '', $start = '', $len = ''){
if($start == 0
$start == ''){
$start = 1;
}
if($str == ''
$len = = ''){
false を返す ;
}
for($i = 0; $i $tmpstr = (ord($str[$i]) >= 161 && ord($str[$ i]) = 161 && ord($str[$i 1]) if ($i >= $start && $i {
$tmp .=$tmpstr;
}
}
戻る$tmp;
}

function isGB ($str)
{
$strLen = strlen($str);
$length = 1;
for($i = 0; $i $tmpstr = ord(substr($str, $i, 1));
$tmpstr2 = ord(substr($str, $i 1, 1) );
if(($tmpstr $tmpstr >= 247) && ($tmpstr2 $tmpstr2 >= 247)){
$legalflag = false;
} else {
$legalflag = true;
}
}
return $legalflag;
}
}


PHP 代コード:------------------------------------- ----------------------------------------

/****************************************
** ファイル名.... : class.smtp.inc
** プロジェクト....: SMTP クラス
** バージョン....: 1.00b
** 最終更新日..: 2001 年 9 月 30 日
**************************************/

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 $ステータス;
var $body;
var $from;
var $host;
var $port;
var $helo;
var $auth;
var $user;
var $pass;

/****************************************
** コンストラクター関数。引数:
** $params - パラメータの関連付け配列:
**
** host - smtp サーバーのホスト名 デフォルト: localhost
** port - smtp サーバーのポートpサーバーが実行されますon デフォルト: 25
** helo - HELO コマンドとして送信するもの デフォルト: localhost
** (通常は
**このスクリプトが実行されるマシン)
** auth -基本認証を使用するかどうか デフォルト: FALSE
** user - 認証用のユーザー名 デフォルト:
** pass - 認証用のパスワード デフォルト:
** timeout - のタイムアウト通話秒数 デフォルト: 5
** fsockopen()
******************************* ********/

function smtp($params = array()){

if(!define('CRLF') )
define('CRLF', "rn", TRUE);

$this->timeout = 5;
$this->status = SMTP_STATUS_NOT_CONNECTED;
$this- >host = 'localhost';
$this->port = 25;
$this->helo = 'localhost';
$this-& gt;認証 = FALSE;
$ this->user = '';
$this->pass = '';
$this->errors = array();

foreach($params as $key = > $value){
$this->$key = $value;
}
}

/****************************************
** 接続機能。これは、
** が静的に呼び出されると、新しい smtp オブジェクトを作成し、
** connect 関数 (つまり、この関数)
** を呼び出してそれを返します。静的に呼び出されない場合、
** サーバーに接続し、
** HELO コマンドを送信します。
******************** *******************/

function connect($params = array()){

if(!isset($this->status)) {
$obj = new smtp($params);
if($obj->connect()){
$obj->status = SMTP_STATUS_CONNECTED;
}

return $obj;

}else{
$this->connection = fsockopen($this->host, $this->port, $errno, $errstr, $this-> ;timeout);
socket_set_timeout($this->connection, 0, 250000);

$greeting = $this->get_data();
if( is_resource($this-> ;connection)){
return $this->auth ? $this->ehlo() : $this->helo();
}else{
$this->errors[] = 'サーバーへの接続に失敗しました: '.$errstr;
return FALSE;
}
}
}

/****************************************
** メールの送信を処理する関数。
** 引数:
** $params - パラメータのオプションの関連配列。
** 含むことができるもの:
** 受信者のインデックス付き配列s
** from - 送信元アドレス。 (MAIL FROM,
** これはリターンパスになります
** - インデックス付き配列ヘッダーの数、配列エントリごとに 1 つのヘッダー
** body - メールの本文
** connect()
** 関数
*** ***********************************/

関数 send($params = array()){

foreach($params as $key => $value){
$this->set($key, $value);
}

if($this->is_connected()){

// 認証するかどうか? auth 変数と auth() 関数の違いに注意してください
if($this->auth){
if(!$this->auth())
return FALSE ;
}

$this->mail($this->from);
if(is_array($this->recipients))
foreach($this-> $value としての受信者)
$this->rcpt($value);
else
$this->rcpt($this->recipients);

if(!$this-> ;data())
return FALSE;

// Transparency
$headers = str_replace(CRLF.'.', CRLF.'..', 、$this- >headers)));
$body = str_replace(CRLF.'.', CRLF.'..', $this->body);
$body = $body[0] == ' 。」 ? '.'.$body : $body;

$this->send_data($headers);
$this->send_data('');
$this->send_データ($body);
$this->send_data('.');

return (substr(trim($this->get_data()), 0, 3) === ' 250');
}else{
$this->errors[] = '接続されていません!';
return FALSE;
}
}

/* ***************************************
** HELO cmd を実装する関数
**************************************/

function helo(){
if(is_resource($this->connection)
AND $this->send_data('HELO '.$this-> ;helo)
AND substr(trim($error = $this->get_data()), 0, 3) === '250' ){

return TRUE;

}else{
$this->errors[] = 'HELO コマンドが失敗しました。出力: ' 。トリム(substr(trim($error),3));
return FALSE;
}
}

/****************************************
** EHLO cmd を実装する関数
**************************************/

function ehlo(){
if(is_resource($this->connection)
$this-& gt;send_data( 'EHLO '.$this->helo)
AND substr(trim($error = $this->get_data()), 0, 3) === '250' ){

return TRUE;

}else{
$this->errors[] = 'EHLO コマンドが失敗しました。出力: ' 。 rim(substr(trim($error),3));
return FALSE;
}
}

/****************************************
** AUTH cmd
を実装する関数**************************************/

関数認証(){
if(is_resource($this->connection)
AND $this->send_data('AUTH LOGIN')
AND substr($error = $this- > データの取得()), 0, 3) === '334'
AND $this->send_data(base64_encode($this->user)) // ユーザー名を送信
substr(tリム($エラー = $this->get_data()),0,3) === '334'
AND $this->send_data(base64_encode($this->pass)) // パスワードを送信
AND サブ文字列(trim($error = $this->get_data()),0,3) === '235' ){

return TRUE;

}else{
$ this->errors[] = 'AUTH コマンドが失敗しました: ' 。 rim(substr(trim($error),3));
return FALSE;
}
}

/****************************************
** MAIL FROM を処理する関数: cmd
**************************************/

機能メール($from){

if($this->is_connected()
AND $this->send_data('MAIL FROM:')
AND substr(trim($this->get_data()), 0, 2) === '250' ){

return TRUE;

}else
FALSE を返す;
}

/****************************************
** RCPT TO を処理する関数: cmd
**************************************/

function rcpt($to){

if($this->is_connected()
AND $this->send_data('RCPT TO:')
AND substr(trim($error = $this->get_data()), 0, 2) === '25' ){

return TRUE;

}else{
$this->errors[] = trim(substr(trim($error), 3));
return FALSE;
}
}

/* ***************************************
** DATA cmd を送信する関数
**************************************/

function data(){

if($this->is_connected()
AND $this->send_data('DATA')
AND substr(trim($error = $this->get_data()), 0, 3) === '354' ){

return TRUE;

}else{
$this->errors[] = trim(substr(trim($error), 3));
return FALSE;
}
}

/****************************************
** このオブジェクトが ** はサーバーに接続されているかどうか。
*********************************** ***/

function is_connected(){

return (is_resource($this->connection) AND ($this->status === SMTP_STATUS_CONNECTED));
}

/****************************************
** ビットデータを送信する関数
**************************************/

function send_data($data){

if(is_resource($this->connection)){
戻るfwrite($this->connection, $data.CRLF, strlen($data) 2);
}else
return FALSE;
}

/****************************************
** データを取得する関数です。
************************************** /

function &get_data(){

$return = '';
$line = '';

if(is_resource($this-> ;接続) ){
while(strpos($return, CRLF) === FALSE OR substr($line,3,1) !== ' '){
$line = fgets($this->connection, 512);
$return .= $line;
}
return $return;

}else
return FALSE;
}

/* ***************************************
** 変数を設定します
** ************************************/

function set($var, $value){

$this->$var = $value;
return TRUE;
}

} // 授業終了
?>


用 PHP アニメーション态创建 Flash アニメ画 (Rate:) (转)
作者: 不明 発行時期: 2002- 7-11 非常に文章の種類: 转 ダウンロード 阅读次数: 124 次 来自: 不明


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 ライブラリを使用すると、Web サイトを豪華に装飾できるだけでなく、Flash アニメーション開発のコストと煩雑な労力を削減できます。
Ming ライブラリを使用するには 2 つの方法があります。PHP に埋め込むことも (Unix プラットフォーム用)、内部の関数はすべてのプラットフォームをサポートしており、使用時にインスタンスは必要ありません。 。 変化。 Ming ライブラリを PHP モジュールとして実行する場合は、他のモジュールと同様に、Ming ライブラリを明示的に呼び出してから、ライブラリ内の関数を使用する必要があります。モジュールは使用前にロードする必要があるため、Ming を内部関数としてコンパイルする場合と比較して、パフォーマンスがわずかに低下します。
Ming ライブラリは完全に無料で、作成者の Web サイトのアドレスからダウンロードできます: [url]http://www.opaque.net/ming/[/url]。 .ネット/ミン。
Ming ライブラリをインストールして正しく構成したら、PHP オブジェクトを作成し、PHP から Ming 関数を呼び出し、関数とプロパティを呼び出してアニメーションを定義できます。 PHP モジュールには 13 個のオブジェクトがあり、Flash の一部の機能を提供します。また、リリース時にパラメータ設定を制御できるコマンドもいくつかあります。これを使用してアニメーションを作成する方法を見てみましょう。
Macromedia Flash を使用して SWF 形式でアニメーションを作成するには、最初にいくつかのシンボルを作成します。Flash には、グラフィック、アニメーション クリップ、ボタンの 3 種類のシンボルがあります。これらのシンボルを作成したら、それらをシーンにコピーできます。各コピーはインスタンスと呼ばれ、必要なだけインスタンスをシーンに配置できます。次に、これらのオブジェクトの動作、つまりアクションとモーションの軌跡を定義できます。また、必要に応じて、サイズや背景色などのアニメーションのパラメータを定義することもできます。ファイル。
PHP の Ming ライブラリを使用して Flash アニメーションを作成するには、Macromedia Flash と同様に、最初にこれらのシンボルを PHP オブジェクトのインスタンスとして作成し、次にアニメーション シーン内でこれらのオブジェクトの位置と関係を定義する必要があります。それぞれのフレーム内のアクションは、最終的にアニメーション自体を定義します。 SWF をブラウザに直接出力することも、後で使用するために SWF 形式のファイルとして保存することもできます。 Flash の利点は、グラフィカル ユーザー インターフェイスであることです。Ming ライブラリを使用すると、オブジェクトの制御が容易になるだけでなく、無制限の拡張性と再利用性も得られます。
完全な例を使用して、Ming ライブラリの使用方法を見てみましょう:


/* まずシンボルを作成し、色で塗りつぶします*/
$ square = new SWFShape();
$sqfill = $square->addFill(0, 0, 0xff);
$square->setRightFill($sqfill); (-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->setDepth(1);
$sqclip->setframes(25);
$ sqclip- >add(new SWFAction("stop();"));
$sqclip->nextFrame();
$sqclip->add(new SWFAction("play();") );
for($n=0; $n$i->rotate(-15);
$sqclip->nextFrame();
}

/* 以下にボタンを作成*/

function rect($r, $g, $b) {
$s = new SWFShape();
$s- > setRightFill($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("setTarget('/box'); gotoandplay(2 ); "), SWFBUTTON_MOUSEDOWN);

/* 以下のアニメーションを作成し、上記の記号とボタンを追加します*/

$m = new SWFMovie();
$m-> ;setDimension (4000,3000);

$i = $m->add($sqclip);
$i->setDepth(3);
$i->moveTo (1650) , 400);
$i->setName("box");

$i = $m->add($b);
$i->setDepth (2 );
$i->moveTo(1400,900);

/* 最後にブラウザに出力します*/

header('Content-type : application/ x-shockwave-flash');
$m->output();
?>

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境