分享
 
 
 

PHP中常用的写好的函数

王朝php·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

<?php

/**

* Global Function

*

* @author Avenger <avenger@php.net>

* @version 1.14 $Id 2003-05-30 10:10:08 $

*/

/**

* 弹出提示框

*

* @access public

* @param string $txt 弹出一个提示框,$txt为要弹出的内容

* @return void

*/

function popbox($txt) {

echo "<script language='JavaScript'>alert('".$txt."')</script>";

}

/**

* 非法操作警告

*

* @access public

* @param string $C_alert 提示的错误信息

* @param string $I_goback 返回后返回到哪一页,不指定则不返回

* @return void

*/

function alert($C_alert,$I_goback='main.php') {

if(!empty($I_goback)) {

echo "<script>alert('$C_alert');window.location.href='$I_goback';</script>";

} else {

echo "<script>alert('$C_alert');</script>";

}

}

/**

* 产生随机字符串

*

* 产生一个指定长度的随机字符串,并返回给用户

*

* @access public

* @param int $len 产生字符串的位数

* @return string

*/

function randstr($len=6) {

$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-@#~'; // characters to build the password from

mt_srand((double)microtime()*1000000*getmypid()); // seed the random number generater (must be done)

$password='';

while(strlen($password)<$len)

$password.=substr($chars,(mt_rand()%strlen($chars)),1);

return $password;

}

/**

* 判断下拉菜音的选取项

*

* 可以判断字符串一和字符串二是否相等.从而使相等的项目在下拉菜单中被选择

*

* @access public

* @param string $str1 要比较的字符串一

* @param string $str2 要比较的字符串二

* @return string 相等返回字符串"selected",否则返回空字符串

*/

function ckselect($str1,$str2) {

if($str1==$str2) {

return ' selected';

}

return '';

}

/**

* 一个自定义的Ftp函数

*

* @access private

* @return void

*/

function myftp($ftp_server,$ftp_port,$ftp_username,$ftp_password,$ftp_path='/') {

$ftpid=@ftp_connect($ftp_server,$ftp_port) or die('Connect To Ftp Server Error!');

@ftp_login($ftpid,$ftp_username,$ftp_password) or die('Login Ftp Error!');

@ftp_chdir($ftpid,'/wwwroot/'.$ftp_path) or die('Chdir Error!');

return $ftpid;

}

/**

* 截取中文部分字符串

*

* 截取指定字符串指定长度的函数,该函数可自动判定中英文,不会出现乱码

*

* @access public

* @param string $str 要处理的字符串

* @param int $strlen 要截取的长度默认为10

* @param string $other 是否要加上省略号,默认会加上

* @return string

*/

function showtitle($str,$strlen=10,$other=true) {

$j = 0;

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

if(ord(substr($str,$i,1))>0xa0) $j++;

if($j%2!=0) $strlen++;

$rstr=substr($str,0,$strlen);

if (strlen($str)>$strlen && $other) {$rstr.='...';}

return $rstr;

}

/**

* 制作链接

*

* @access public

* @param string url 要链接到的网址

* @param string linktext 显示的链接文字

* @param string target 目标框架

* @param string extras 扩展参数

* @return string

*/

function make_link ($url, $linktext=false, $target=false, $extras=false) {

return sprintf("<a href=\"%s\"%s%s>%s</a>",

$url,

($target ? ' target="'.$target.'"' : ''),

($extras ? ' '.$extras : ''),

($linktext ? $linktext : $url)

);

}

/**

* 格式化用户评论

*

* @access public

* @param string

* @return void

*/

function clean_note($text) {

$text = htmlspecialchars(trim($text));

/* turn urls into links */

$text = preg_replace("/((mailto|http|ftp|nntp|news):.+?)(&gt;|\s|\)|\"|\.\s|$)/","<a href=\"\1\">\1</a>\3",$text);

/* this 'fixing' code will go away eventually. */

$fixes = array('<br>', '<p>', '</p>');

reset($fixes);

while (list(,$f) = each($fixes)) {

$text = str_replace(htmlspecialchars($f), $f, $text);

$text = str_replace(htmlspecialchars(strtoupper($f)), $f, $text);

}

/* <p> tags make things look awfully weird (breaks things out of the <code>

tag). Just convert them to <br>'s

*/

$text = str_replace (array ('<P>', '<p>'), '<br>', $text);

/* Remove </p> tags to prevent it from showing up in the note */

$text = str_replace (array ('</P>', '</p>'), '', $text);

/* preserve linebreaks */

$text = str_replace("\n", "<br>", $text);

/* this will only break long lines */

if (function_exists("wordwrap")) {

$text = wordwrap($text);

}

// Preserve spacing of user notes

$text = str_replace(" ", " &nbsp;", $text);

return $text;

}

/**

* 获取图象信息的函数

*

* 一个全面获取图象信息的函数

*

* @access public

* @param string $img 图片路径

* @return array

*/

function getimageinfo($img) {

$img_info = getimagesize($img);

switch ($img_info[2]) {

case 1:

$imgtype = "GIF";

break;

case 2:

$imgtype = "JPG";

break;

case 3:

$imgtype = "PNG";

break;

}

$img_size = ceil(filesize($img)/1000)."k";

$new_img_info = array (

"width"=>$img_info[0],

"height"=>$img_info[1],

"type"=>$imgtype,

"size"=>$img_size

);

return $new_img_info;

}

/**

* 计算当前时间

*

* 以微秒为单位返回当前系统的时间

*

* @access public

* @return real

*/

function getmicrotime() {

$tmp = explode(' ', microtime());

return (real)$tmp[1]. substr($tmp[0], 1);

}

/**

* 写文件操作

*

* @access public

* @param bool

* @return void

*/

function wfile($file,$content,$mode='w') {

$oldmask = umask(0);

$fp = fopen($file, $mode);

if (!$fp) return false;

fwrite($fp,$content);

fclose($fp);

umask($oldmask);

return true;

}

/**

* 加载模板文件

*

* @access public

* @return void

*/

function tpl_load($tplfile,$path='./templates/',$empty='remove') {

global $tpl;

$path ? '' : $path='./templates/';

require_once 'HTML/Template/PHPLIB.php';

$tpl = new Template_PHPLIB($path,$empty);

$tpl->setFile('main',$tplfile);

}

/**

* 模板解析输出

*

* @access public

* @return void

*/

function tpl_output() {

global $tpl;

$tpl->parse('output','main');

$tpl->p('output');

}

/**

* 邮件发送函数

*

* @access public private

* @param bool

* @return void

*/

function mailSender($from, $to, $title, $content) {

$from ? $from = 'sender@phpe.net' : '';

$title ? $title = 'From Exceed PHP...' : '';

$sig = "

感谢您使用我们的服务.\n\n

Exceed PHP(超越PHP)\n

$maildate\n\n

---------------------------------------------------------------------------------------

\n\n

去发现极限方法的唯一办法就是去超越它\n

超越PHP欢迎您(http://www.phpe.net)\n

";

$content .= $sig;

if (@_mail($to, $title, $content, "From:$from\nReply-To:$from")) {

return true;

} else {

return false;

}

}

/**

* UBB解析

*

* @param none

* @access public

* @return void

*/

function ubbParse($txt, $coverhtml=0) {

if ($coverhtml == 0) $txt = nl2br(htmlspecialchars($txt)); //BR和HTML转换

//只转换BR,不转换HTML

if ($coverhtml == 1) {

if (!preg_match('/^<.+>$/s', $txt) && !preg_match('/<table.+<\/table>/is', $txt)) {

$txt = strip_tags($txt);

$txt = nl2br($txt);

}

}

// pre and quote

$txt = preg_replace( "#\[quote\](.+?)\[/quote\]#is", "<blockquote>\1</blockquote>", $txt );

$txt = preg_replace( "#\[code\](.+?)\[/code\]#is", "<p class='php'>\1</p>", $txt );

// Colors 支持篏套

while( preg_match( "#\[color=([^\]]+)\](.+?)\[/color\]#is", $txt ) ) {

$txt = preg_replace( "#\[color=([^\]]+)\](.+?)\[/color\]#is", "<span style='color:\1'>\2</span>", $txt );

}

// Align

$txt = preg_replace( "#\[center\](.+?)\[/center\]#is", "<center>\1</center>", $txt );

$txt = preg_replace( "#\[left\](.+?)\[/left\]#is", "<div align=left>\1</div>", $txt );

$txt = preg_replace( "#\[right\](.+?)\[/right\]#is", "<div align=right>\1</div>", $txt );

// Sub & sup

$txt = preg_replace( "#\[sup\](.+?)\[/sup\]#is", "<sup>\1</sup>", $txt );

$txt = preg_replace( "#\[sub\](.+?)\[/sub\]#is", "<sub>\1</sub>", $txt );

// email tags

// [email]avenger@php.net[/email] [email=avenger@php.net]Email me[/email]

$txt = preg_replace( "#\[email\](\S+?)\[/email\]#i" , "<a href='mailto:\1'>\1</a>", $txt );

$txt = preg_replace( "#\[email\s*=\s*\&quot\;([\.\w\-]+\@[\.\w\-]+\.[\.\w\-]+)\s*\&quot\;\s*\](.*?)\[\/email\]#i" , "<a href='mailto:\1'>\2</a>", $txt );

$txt = preg_replace( "#\[email\s*=\s*([\.\w\-]+\@[\.\w\-]+\.[\w\-]+)\s*\](.*?)\[\/email\]#i" , "<a href='mailto:\1'>\2</a>", $txt );

// url tags

// http://www.phpe.net Exceed PHP!

$txt = preg_replace( "#\[url\](\S+?)\[/url\]#i" , "<a href='\1' target='_blank'>\1</a>", $txt );

$txt = preg_replace( "#\[url\s*=\s*\&quot\;\s*(\S+?)\s*\&quot\;\s*\](.*?)\[\/url\]#i" , "<a href='\1' target='_blank'>\2</a>", $txt );

$txt = preg_replace( "#\[url\s*=\s*(\S+?)\s*\](.*?)\[\/url\]#i" , "<a href='\1' target='_blank'>\2</a>", $txt );

// Start off with the easy stuff

$txt = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\1</b>", $txt );

$txt = preg_replace( "#\[i\](.+?)\[/i\]#is", "<i>\1</i>", $txt );

$txt = preg_replace( "#\[u\](.+?)\[/u\]#is", "<u>\1</u>", $txt );

$txt = preg_replace( "#\[s\](.+?)\[/s\]#is", "<s>\1</s>", $txt );

// Images

$txt = preg_replace( "#\[img\](.+?)\[/img\]#i", "<a href='\1' target='_blank'><img alt='Click to fullsize' src='\1' border='0' onload='javascript:if(this.width>500) this.width=500' align='center' hspace='10' vspace='10'></a><br />", $txt );

// Attach

$txt = preg_replace( "#\[attach\s*=\s*\&quot\;\s*(\S+?)\s*\&quot\;\s*\](.*?)\[\/attach\]#i" , "<a href='\2' target='_blank'><b>相关附件:</b>\1</a>", $txt );

$txt = preg_replace( "#\[attach\s*=\s*(\S+?)\s*\](.*?)\[\/attach\]#i" , "<a href='\2' target='_blank'><b>相关附件:</b>\1</a>", $txt );

// Iframe

$txt = preg_replace( "#\[iframe\](.+?)\[/iframe\]#i", "<div align='center'><iframe src='\1' style='width:96%;height:400px'></iframe><br clear='all'><a href='\1' target='_blank'>在新窗口打开链接</a></div>", $txt );

// (c) (r) and (tm)

$txt = preg_replace( "#\(c\)#i" , "&copy;" , $txt );

$txt = preg_replace( "#\(tm\)#i" , "&#153;" , $txt );

$txt = preg_replace( "#\(r\)#i" , "&reg;" , $txt );

return $txt;

}

?>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有