/** * 글로벌 기능 * * @author Avenger * @version 1.14 $Id 2003-05-30 10:10:08 $ */ /** * 프롬프트 상자 팝업 * * @access public * @param string $txt 프롬프트 상자 팝업, $txt는 팝업될 내용 * @return 무효 */ 함수 popbox($txt) { echo ""; <BR>} <BR>/**<BR> * 잘못된 연산 경고 <BR> * <BR> * @access public <BR> * @param string $C_alert 오류 메시지 표시 <BR> * @param string $I_goback 반환 후 어떤 페이지로 돌아갈지 지정되지 않음 반환하지 않음 <BR> * @return void <BR>*/ <BR>함수 알림($C_alert,$I_goback='main.php') { <BR> if(!empty($I_goback)) { <BR> echo "<script>alert('$C_alert');window.location.href='$I_goback';"; } else { 에코 "alert('$C_alert');"; } } /** * 임의의 문자열 생성 * * 지정된 길이의 임의의 문자열을 생성하여 사용자에게 반환 * * @access public * @param int $len 생성 문자열의 자릿수 * @return string */ 함수 randstr($len=6) { $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-@#~'; // 에서 비밀번호를 구성하는 문자 mt_srand((double)microtime()*1000000*getmypid()); // 난수 생성기 시드(반드시 수행해야 함) $password=''; while(strlen($password)<$len) $password.=substr($chars,(mt_rand()%strlen($chars)),1); $password를 반환합니다. } /** * 드롭다운 메뉴 선택 결정 * * 문자열 1과 문자열 2가 동일한지 여부를 결정하여 드롭다운 메뉴에서 동일한 항목이 선택되도록 할 수 있습니다 * * @access public * @param string $str1 비교할 문자열 1 * @param string $str2 비교할 문자열 2 * @return string 같으면 "selected" 문자열을 반환 ", 그렇지 않으면 빈 문자열을 반환합니다 */ 함수 ckselect($str1,$str2) { if($str1==$str2) { '선택됨'을 반환; } 반환 ''; } /** * 사용자 정의 Ftp 기능 * * @access private * @return void */ 기능 myftp($ftp_server,$ftp_port,$ftp_username,$ftp_password,$ftp_path='/') { $ftpid=@ftp_connect( $ftp_server,$ftp_port) 또는 die('Ftp 서버에 연결 오류!'); @ftp_login($ftpid,$ftp_username,$ftp_password) or die('로그인 Ftp 오류!'); @ftp_chdir($ftpid,'/'.$ftp_path) 또는 die('Chdir 오류!'); $ftpid를 반환합니다. }/** * 중국어 문자열의 일부를 가로채기 * * 지정된 문자열의 지정된 길이를 가로채는 기능 이 기능은 잘못된 문자 없이 중국어와 영어를 자동으로 판별할 수 있습니다. * * @access public * @param string $str 처리할 문자열 * @param int $strlen 가로채는 길이는 기본 10 * @param string $other 줄임표 추가 여부, 기본값 * @return 문자열 입니다.*/ 함수 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 링크할 URL * @param string linktext 표시할 링크 텍스트 * @param string target 대상 프레임워크 * @param string extras 확장 매개변수 * @return string */ 함수 make_link($url, $linktext=false, $target=false, $extras=false) { 반환 sprintf("%s", $url, ($target ? ' target="'.$target.'"' : ''), ($extras ? ' '.$extras : ''), ($linktext ? $linktext : $url) ); } /** * 서식이 지정된 사용자 댓글 * * @access public * @param string * @return void */ function clean_note($text) { $text = htmlspecialchars(trim($text)); /* URL을 링크로 전환 */ $text = preg_replace("/((mailto|http|ftp|nntp|news):. ?)(>|s|)|"|.s| $)/","13",$text); /* 이 '수정' 코드는 결국 사라지게 됩니다. */ $fixes = array('', '', '') reset($fixes) while(list(,$f) = each($ 수정)) { $text = str_replace(htmlspecialchars($f), $f, $text) $text = str_replace(htmlspecialchars(strtoupper($f)), $f, $text); 🎜> } /* 태그는 사물을 매우 이상하게 보이게 합니다( 태그에서 사물을 분리함). 태그를 의 */ $text = str_replace (배열 ('', ''), '', $text) /* 태그를 제거하여 이를 방지하세요. 메모에 표시되는 것부터 */ $text = str_replace (array ('', ''), '', $text) /* 줄 바꿈 유지 * / $text = str_replace("n", "", $text) /* 이것은 긴 줄만 끊어 */ if (function_exists("wordwrap")) { $text = wordwrap($text); } // 사용자 메모의 간격 유지 $text = str_replace(" ", " ", $text); $text를 반환합니다. } /** * 이미지 정보를 획득하는 함수 * * 이미지 정보를 종합적으로 획득하는 함수 * * @access public * @param string $img 이미지 경로 * @return 배열 */ 함수 getimageinfo($img) { $img_info = getimagesize($img); 스위치($img_info[2]) { 사례 1: $imgtype = "GIF"; 휴식; 사례 2: $imgtype = "JPG"; 휴식; 사례 3: $imgtype = "PNG"; 휴식; } $img_size = ceil(filesize($img)/1000)."k"; $new_img_info = 배열 ( "width"=>$img_info[0], "height"=>$img_info[1], "type"=>$imgtype, "size"=>$img_size ); 반환 $new_img_info; } /** * 현재 시간 계산 * * 현재 시스템 시간을 마이크로초 단위로 반환 * * @access public * @return real */ function getmicrotime() { $tmp = explode(' ', microtime()); (실제)$tmp[1]를 반환합니다. substr($tmp[0], 1); } /** * 파일 쓰기 작업 * * @access public * @param bool * @return void */ 함수 wfile($file,$content,$mode='w') { $oldmask = umask(0); $fp = fopen($file, $mode); if (!$fp) 반환 false; fwrite($fp,$content); fclose($fp); umask($oldmask); true를 반환합니다. } /** * 템플릿 파일 로드 * * @access public * @return void */ 함수 tpl_load($tplfile,$path='./templates/',$empty='remove') { 글로벌 $tpl; $path ? '' : $path='./templates/'; require_once 'HTML/Template/PHPLIB.php'; $tpl = 새 Template_PHPLIB($path,$empty); $tpl->setFile('main',$tplfile); } /** * 템플릿 구문 분석 출력 * * @access public * @return void */ 함수 tpl_output() { 전역 $tpl; $tpl->parse('output','main'); $tpl->p('출력'); } /** * 邮件发送函数 * * @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; } } function br2none($str) { return str_replace(array('', ''), "", $str); } /** * UBB解析 * * @param none * @access public * @return void */ function ubbParse($txt, $coverhtml=0) { if ($coverhtml == 0) $txt = nl2br(new_htmlspecialchars($txt)); //BR和HTML转换 //只转换BR,不转换HTML if ($coverhtml == 1) { if (!preg_match('/<\s*(p|br)\s*>/is', $txt) && !preg_match('//is', $txt)) { $txt = strip_tags($txt); $txt = nl2br($txt); } else { $txt = str_replace('', '', $txt); } } // pre and quote //error_reporting(E_ALL); $txt = preg_replace( "#\[quote\](.+?)\[/quote\]#is", "\1", $txt ); $txt = preg_replace( "#\[code\](.+?)\[/code\]#ise", "''.br2none('').''", $txt ); // Colors 支持篏套 while( preg_match( "#\[color=([^\]]+)\](.+?)\[/color\]#is", $txt ) ) { $txt = preg_replace( "#\[color=([^\]]+)\](.+?)\[/color\]#is", "\2", $txt ); } // Align $txt = preg_replace( "#\[center\](.+?)\[/center\]#is", "\1", $txt ); $txt = preg_replace( "#\[left\](.+?)\[/left\]#is", "\1", $txt ); $txt = preg_replace( "#\[right\](.+?)\[/right\]#is", "\1", $txt ); // Sub & sup $txt = preg_replace( "#[sup](. ?)[/sup]#is", "1 ", $txt ); $txt = preg_replace( "#[sub](. ?)[/sub]#is", "1", $txt ); // 이메일 태그 // [email]avenger@php.net[/email] [email=avenger@php.net]나에게 이메일 보내기[/email] $txt = preg_replace( "#[email]( S ?)[/email]#i" , "1", $txt ); $txt = preg_replace( "#[이메일*=s *"([.w-] @[.w-] .[.w-] )s*"s*](.*?)[/email]#i" , "2", $txt ); $txt = preg_replace( "#[emails*=s*([.w-] @[.w-] .[w-] )s* ](.*?)[/email]#i" , "2", $txt ); // URL 태그 // [url]http://www.phpe.net[/url] [url=http://www.phpe.net]PHP를 초과하세요![/url] $txt = preg_replace( "#[url]( S ?)[/url]#i" , "1", $txt ); $txt = preg_replace( "#[urls*=s*"s*(S ?)s*"s*](.*?)[/url]#i" , "2", $txt ); $txt = preg_replace("#[urls*=s*(S ?)s*](.*?)[/url]#i" , "2", $txt ); // 쉬운 것부터 시작하세요. $txt =preg_replace( "#[b](. ?)[/b]#is", "1", $txt ); $txt = preg_replace( "#[i](. ?)[/i]#is", "1", $txt ); $txt = preg_replace( "#[u](. ?)[/u]#is", "1", $txt ); $txt = preg_replace( "#[s](. ?)[/s]#is", "1", $txt ); // 헤더 텍스트 $txt = preg_replace( "#[h([1-6])](. ?)[/h[1-6]]#is", "2< ;/h1>", $txt ); // 이미지 $txt = preg_replace( "#[img](. ?)[/img]#i", " $sec = time() - $date //초 1일은 86400 if ($sec < 86400) { 반환($sec/3600). ' 시간 전' elseif ($sec <(86400 * 7) { 반환($sec/86400). ' 일 전';elseif ($sec < (86400 * 7 * 4)) { 반환 라운드($sec/(86400*7)). '주 전' } else { 반환 날짜('Y-m) -d', $date) } } ?> 위 내용은 내용의 측면을 포함하여 PHP 이상의 functionincphp를 소개한 내용이므로 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.