check_type.php(使用类型检验関数数)
/*********************/
/* */
/* バージョン : 5.1.0 * /
/* 著者 : RM */
/* コメント : 071223 */
/* */
/*********************/
function is_number( $str )
{
if ( substr( $str, 0, 1 ) == "-" )
{
$str = substr( $str, 1 );
$length = strlen( $str );
$i = 0; ; ++$i )
{
$ascii_value = ord( substr( $str, $i, 1 ) );
if ( 48 {
}
FALSEを返す
}
if ( $str != "0" )
{
$str = intval( $str );
if ( $str == 0 )
{
FALSEを返す
}
return TRUE;
}
関数 is_decmal( $str )
{
if ( substr( $str, 0, 1 ) == "-" )
{
$str = substr( $str, 1 )
$length; = strlen( $str );
$i = 0;
for ( ; $i {
$ascii_value = ord( substr( $str, $i, 1 ) ); if ( 0 {
}
FALSE を返す
}
関数is_money( $str )
{
$dot_pos = strpos( $str, "." );
if ( !$dot_pos )
{
return FALSE;
}
$str1 = substr( $str, 0, $dot_pos );
if ( 14
return FALSE;
}
if ( !is_number( $str1 ) )
{
return FALSE;
}
$str2 = substr( $str, $dot_pos + 1, strlen( $str ) - $dot_pos );
if ( strlen( $str2 ) != 2 )
{
return FALSE;
}
if ( !is_number( $str2 ) )
{
return FALSE;
}
TRUEを返します。
}
関数 is_money_len( $str, $int_len, $dot_len )
{
$dot_pos = strpos( $str, "." );
if ( !$dot_pos )
{
FALSE を返す;
}
$str1 = substr( $str, 0, $dot_pos );
if ( $int_len {
return FALSE;
}
if ( !is_number( $str1 ) )
{
return FALSE;
}
$str2 = substr( $str, $dot_pos + 1, strlen( $str ) - $dot_pos );
if ( strlen( $str2 ) != $dot_len )
{
return FALSE;
}
if ( !is_number( $str2 ) )
{
return FALSE;
}
TRUEを返します。
}
関数 is_date( $str )
{
$YEAR = "";
$MONTH = "";
$DAY = "";
$len = strlen( $str );
$オフセット = 0;
$i = strpos( $str, "-", $offset );
$YEAR = substr( $str, $offset, $i - $offset );
$オフセット = $i + 1;
if ( $len {
return FALSE;
}
if ( $i )
{
$i = strpos( $str, "-", $offset );
$MONTH = substr( $str, $offset, $i - $offset );
$オフセット = $i + 1;
if ( $len {
return FALSE;
}
if ( $i )
{
$DAY = substr( $str, $offset, $len - $offset );
}
}
if ( $YEAR == "" || $MONTH == "" || $DAY == "" )
{
return FALSE;
}
if ( !checkdate( intval( $MONTH ), intval( $DAY ), intval( $YEAR ) ) )
{
return FALSE;
}
TRUEを返します。
}
関数 is_time( $str )
{
$TEMP = "";
$時間 = "";
$MIN = "";
$SEC = "";
$TEMP = strtok( $str, ":" );
$時間 = $TEMP;
if ( $HOUR == "" || 24 {
return FALSE;
}
$TEMP = strtok( ":" );
$MIN = $TEMP;
if ( $MIN == "" || 60 {
return FALSE;
}
$TEMP = strtok( ":" );
$SEC = $TEMP;
if ( $SEC == "" || 60 {
return FALSE;
}
TRUEを返します。
}
関数 is_date_time( $DATE_TIME_STR )
{
if ( $DATE_TIME_STR == NULL || strlen( $DATE_TIME_STR ) == 0 )
{
return FALSE;
}
$DATE_TIME_ARRY =explode( " ", $DATE_TIME_STR );
if ( is_date( $DATE_TIME_ARRY[0] ) && is_time( $DATE_TIME_ARRY[1] ) )
{
return TRUE;
}
FALSE を返します。
}
?>
auth.php登录验证
复制代码
代码如下:
/*********************/
/* */
/* バージョン : 5.1.0 */
/* 著者 : RM */
/* コメント : 071223 */
/* * /
/*********************/
if ( $USER_ID == "" || $PASSWORD == "" )
{
echo "201#|#ユーザー名またはパスワードが空です"
exit( );
}
if ( $USER_ID != "OfficeTask" )
{
echo "205#|#間違ったユーザー名";
}
include_once( "../inc/conn.php" ); ( "../inc/utility.php" );
ob_end_clean( );
$query = "select * from EXT_USER where USER_ID='".$USER_ID."'";クエリ);
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$PWD = $ROW['USE_FLAG'];
$AUTH_MODULE = $ROW[' AUTH_MODULE '];
$POSTFIX = $ROW['POSTFIX'];
if ( md5( $PWD ) != $PASSWORD )
echo "203#|#間違ったパスワード";
if ( $USE_FLAG == "0" )
{
echo "204#|#アカウントが無効になりました";
}
}
else
{
echo "202#|#"
exit( );
}
?>
utility_all パブリック関数
コードは次のとおりです。
/*********************/
/* */
/* バージョン : 5.1.0 */
/* 著者 : RM */
/* コメント : 071223 */
/* * /
/*********************/
function format_date( $STRING1 )
{
$STRING1 = str_replace( "-0", "-", $STRING1 );
$STR = strtok( $STRING1, "-" );
$STRING2 = $STR."年";
$STR = strtok( "-" );
$STRING2 .= $STR."月";
$STR = strtok( " " );
$STRING2 .= $STR."日";
$STRING2 を返します;
}
関数 format_date_short1( $STRING1 )
{
$STRING1 = str_replace( "-0", "-", $STRING1 );
$STR = strtok( $STRING1, "-" );
$STRING2 = $STR."年";
$STR = strtok( "-" );
$STRING2 .= $STR."月";
$STRING2 を返します;
}
関数 format_date_short2( $STRING1 )
{
$STRING1 = str_replace( "-0", "-", $STRING1 );
$STR = strtok( $STRING1, "-" );
$STR = strtok( "-" );
$STRING2 .= $STR."月";
$STR = strtok( " " );
$STRING2 .= $STR."日";
$STRING2 を返します;
}
関数 format_date_short3( $STRING1 )
{
$STRING1 = str_replace( "-0", "-", $STRING1 );
$STR = strtok( $STRING1, "-" );
$STRING2 .= $STR."年";
$STRING2 を返します;
}
関数 format_date_number( $STRING1 )
{
$STRING1 = str_replace( "-0", "-", $STRING1 );
$STR = strtok( $STRING1, "-" );
$STRING2 = $STR;
$STR = strtok( "-" );
$STRING2 .= strlen( $STR ) == 1 ? "0".$STR : $STR;
$STR = strtok( " " );
$STRING2 .= strlen( $STR ) == 1 ? "0".$STR : $STR;
$STRING2 を返します;
}
function get_week( $STRING )
{
switch ( date( "w", strtotime( $STRING ) ) )
{
case 0 :
return "日";
ケース 1 :
「一」を返します。
ケース 2 :
「二」を返します。
ケース 3 :
「三」を返します。
ケース 4 :
「四」を返します。
ケース 5 :
「五」を返します。
ケース 6 :
「六」を返します。
}
}
function format_money( $STR )
{
if ( $STR == "" )
{
return "";
}
if ( $STR == ".00" )
{
return "0.00";
}
$TOK = strtok( $STR, "." );
if ( strcmp( $STR, $TOK ) == "0" )
{
$STR .= ".00";
}
else
{
$TOK = strtok( "." );
$I = 1;
for ( ; $I {
$STR .= "0";
}
}
if (substr( $STR, 0, 1 ) == "." )
{
$STR = "0".$STR;
}
$STR を返します。
}
関数 Compare_date( $DATE1, $DATE2 )
{
$STR = strtok( $DATE1, "-" );
$YEAR1 = $STR;
$STR = strtok( "-" );
$MON1 = $STR;
$STR = strtok( "-" );
$DAY1 = $STR;
$STR = strtok( $DATE2, "-" );
$YEAR2 = $STR;
$STR = strtok( "-" );
$MON2 = $STR;
$STR = strtok( "-" );
$DAY2 = $STR;
if ( $YEAR2 {
return 1;
}
if ( $YEAR1 {
return -1;
}
if ( $MON2 {
return 1;
}
if ( $MON1 {
return -1;
}
if ( $DAY2 {
return 1;
}
if ( $DAY1 {
return -1;
}
0を返す;
}
関数 Compare_time( $TIME1, $TIME2 )
{
$STR = strtok( $TIME1, ":" );
$HOUR1 = $STR;
$STR = strtok( ":" );
$MIN1 = $STR;
$STR = strtok( ":" );
$SEC1 = $STR;
$STR = strtok( $TIME2, ":" );
$HOUR2 = $STR;
$STR = strtok( ":" );
$MIN2 = $STR;
$STR = strtok( ":" );
$SEC2 = $STR;
if ( $HOUR2 {
return 1;
}
if ( $HOUR1 {
return -1;
}
if ( $MIN2 {
return 1;
}
if ( $MIN1 {
return -1;
}
if ( $SEC2 {
return 1;
}
if ( $SEC1 {
return -1;
}
0を返す;
}
function Compare_date_time( $DATE_TIME1, $DATE_TIME2 )
{
if ( $DATE_TIME1 == NULL || strlen( $DATE_TIME1 ) == 0 || $DATE_TIME2 == NULL || strlen( $DATE_TIME2 ) == 0 )
{
-1 を返す;
}
$DATE_TIME1_ARRY =explode( " ", $DATE_TIME1 );
$DATE_TIME2_ARRY =explode( " ", $DATE_TIME2 );
if (compare_date( $DATE_TIME1_ARRY[0], $DATE_TIME2_ARRY[0] ) == 1 )
{
return 1;
}
if (compare_date( $DATE_TIME1_ARRY[0], $DATE_TIME2_ARRY[0] ) == 0 )
{
if (compare_time( $DATE_TIME1_ARRY[1], $DATE_TIME2_ARRY[1] ) == 1 )
{
return 1;
}
if (compare_time( $DATE_TIME1_ARRY[1], $DATE_TIME2_ARRY[1] ) == 0 )
{
return 0;
}
-1 を返します。
}
-1 を返します。
}
関数 is_chinese( &$str, $location )
{
$ch = TRUE;
$i = $location;
while ( 160
$ch = !$ch;
--$i;
}
if ( $i != $location )
{
$f_str = $ch ? 1 : -1;
$f_str を返します;
}
$f_str = FALSE;
$f_str を返します;
}
関数 csubstr( &$str, $start = 0, $long = 0, $ltor = TRUE, $cn_len = 2 )
{
if ( $long == 0 )
{
$long = strlen( $ str);
}
if ( !$ltor )
{
$str = cstrrev( $str );
}
if ( $cn_len == 1 )
{
$i = 0;
$fs = 0;
for ( ; $i {
$i += ord( $str[$fs] ) }
$i = 0;
$fe = $fs;
for ( ; $i {
$i += ord( $str[$fe] ) }
$long = $fe - $fs;
}
else
{
$fs = is_chinese( &$str, $start ) == 1 ? $start - 1 : $start;
$fe = $long + $start - 1;
$end = is_chinese( &$str, $fe ) == -1 ? $fe - 1 : $fe;
$long = $end - $fs + 1;
}
$f_str = substr( $str, $fs, $long );
if ( !$ltor )
{
$f_str = cstrrev( $f_str );
}
$f_str; を返します。
}
関数 is_ip( $IP )
{
$IP_ARRAY =explode( ".", $IP );
$IP_ARRAY_NUM = sizeof( $IP_ARRAY );
if ( $IP_ARRAY_NUM != 4 )
{
return FALSE;
}
$I = 0;
for ( ; $I {
if ( !is_numeric( $IP_ARRAY[$I] ) && $IP_ARRAY[$I] {
FALSE を返します。
}
if ( !( $I == 3 ) && !( $IP_ARRAY[$I] == 255 ) )
{
続ける;
}
FALSE を返します。
}
TRUEを返します。
}
function check_ip( $USER_IP, $TYPE, $USER_ID )
{
global $connection;
$query = "SYS_PARA から PARA_VALUE を選択します (PARA_NAME='IP_UNLIMITED_USER'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$IP_UNLIMITED_USER = $ROW['PARA_VALUE'];
}
if ( find_id( $IP_UNLIMITED_USER, $USER_ID ) )
{
return TRUE;
}
$query = "select * from IP_RULE where TYPE='".$TYPE."'";
$cursor = exequery( $connection, $query );
$RULE_COUNT = 0;
$FLAG = 0;
while ( $ROW = mysql_fetch_array( $cursor ) )
{
++$RULE_COUNT;
$BEGIN_IP = $ROW['BEGIN_IP'];
$END_IP = $ROW['END_IP'];
if ( !( ip2long( $BEGIN_IP ) {
続ける;
}
$FLAG = 1;
休憩;
}
if ( $RULE_COUNT == 0 || $FLAG == 1 )
{
return TRUE;
}
FALSE を返します。
}
関数マスクstr( $STR, $FIRST, $LAST )
{
if ( is_numeric( $FIRST ) )
{
}
if ( !is_numeric( $LAST ) )
{
return;
}
if ( strlen( $STR ) {
return $STR;
}
$RETURN_STR = substr( $STR, 0, $FIRST );
$I = 0;
for ( ; $I {
$RETURN_STR .= "*";
}
$RETURN_STR .= substr( $STR, 0 - $LAST );
$RETURN_STR を返します;
}
function add_log( $TYPE, $REMARK, $OPERATOR )
{
global $connection;
$CUR_TIME = date( "Y-m-d H:i:s", time( ) );
$USER_IP = get_client_ip( );
if ( $TYPE == 1 )
{
$query = "update USER set LAST_VISIT_IP='".$USER_IP."' where USER_ID='{$OPERATOR}'";
exequery( $connection, $query );
}
else
{
if ( $TYPE == 3 || $TYPE == 4 || $TYPE == 5 )
{
include_once( "inc/itask/itask.php" );
グローバル $DEPT_PARENT;
if ( $TYPE == 3 || $TYPE == 4 )
{
$result = itask( array(
"LOG_".$TYPE." ".$REMARK.",".$DEPT_PARENT
) );
}
$query = "SELECT DEPT_ID,DEPT_NAME from DEPARTMENT where DEPT_ID='".$REMARK."'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$DEPT_ID = $ROW['DEPT_ID'];
$DEPT_NAME = $ROW['DEPT_NAME'];
}
$REMARK = "{$DEPT_NAME},DEPT_ID={$DEPT_ID},DEPT_PARENT={$DEPT_PARENT}";
if ( $result === FALSE )
{
message( "错误", itask_last_error( ) );
button_back( );
終了( );
}
}
else if ( $TYPE == 6 || $TYPE == 7 || $TYPE == 8 || $TYPE == 11 )
{
include_once( "inc/itask/itask.php" ) ;
グローバル $DEPT_ID;
グローバル $NOT_LOGIN;
if ( $TYPE == 6 || $TYPE == 7 )
{
$result = itask( array(
"LOG_".$TYPE." ".$REMARK.",".$DEPT_ID."," .$NOT_LOGIN
) );
}
$query = "SELECT USER_ID,USER_NAME,DEPT_ID from USER where find_in_set(USER_ID,'".$REMARK."')";
$cursor = exequery( $connection, $query );
$REMARK = "";
while ( $ROW = mysql_fetch_array( $cursor ) )
{
$USER_ID = $ROW['USER_ID'];
$USER_NAME = $ROW['USER_NAME'];
$DEPT_ID = $ROW['DEPT_ID'];
$query = "DEPT_ID='".$DEPT_ID."'" の DEPARTMENT から DEPT_NAME を選択します。
$cursor1 = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor1 ) )
{
$DEPT_NAME = $ROW['DEPT_NAME'];
}
$REMARK .= "[".$DEPT_NAME."]{$USER_NAME},USER_ID={$USER_ID}
}
if ( $result === FALSE )
{
message( "错误", itask_last_error( ) );
button_back( );
終了( );
}
}
}
$REMARK = str_replace( "'", "\'", $REMARK );
$REMARK = str_replace( "\\'", "\'", $REMARK );
$query = "SYS_LOG (USER_ID,TIME,IP,TYPE,REMARK) 値に挿入 ('".$OPERATOR."','{$CUR_TIME}','{$USER_IP}','{$TYPE}' 、'{$備考}')";
exequery( $connection, $query );
if ( 21 {
$query1 = "INSERT INTO `SYS_CODE` ( `CODE_NO` , `CODE_NAME` , `CODE_ORDER` , `PARENT_NO` , `CODE_FLAG` ) VALUES ('".$TYPE."', '未知の型' , '99', 'SYS_LOG', '1');";
exequery( $connection, $query1 );
}
return $query;
}
function matter_sms( )
{
include_once( "inc/utility_sms1. php" );
global $connection;
global $LOGIN_USER_ID;
$CUR_DATE = date( "Y-m-d", time( ) );
$CUR_TIME = date( "Y-m-d H:i:s", time( ) );
$query = "SELECT * from AFFAIR where USER_ID='".$LOGIN_USER_ID."' and BEGIN_TIME $cursor = exequery( $connection, $query );
while ( $ROW = mysql_fetch_array( $cursor ) )
{
$AFF_ID = $ROW['AFF_ID'];
$USER_ID = $ROW['ユーザー ID'];
$TYPE = $ROW['REMIND_DATE'];
$REMIND_TIME = $ROW['REMIND_TIME']; ];
$SEND_TIME = 日付( "Y-m-d", 時刻( ) )。 ".$REMIND_TIME;
$SMS_CONTENT = "日常事务提醒:".csubstr( &$CONTENT, 0, 100 );
$FLAG = 0;
if ( $TYPE == "2" )
{
$FLAG = 1;
}
else if ( $TYPE == "3" && date( "w", time( ) ) == $REMIND_DATE )
{
$FLAG = 1;
}
else if ( $TYPE == " 4" && date( "j", time( ) ) == $REMIND_DATE )
{
$FLAG = 1;
}
else if ( $TYPE == "5" )
{
$REMIND_ARR =explode( "- ", $REMIND_DATE );
$REMIND_DATE_MON = $REMIND_ARR[0];
$REMIND_DATE_DAY = $REMIND_ARR[1];
if ( date( "n", time( ) ) == $REMIND_DATE_MON && date( "j", time( ) ) == $REMIND_DATE_DAY )
{
$FLAG = 1;
}
}
if ( $FLAG == 1 )
{
send_sms( $SEND_TIME, $LOGIN_USER_ID, $LOGIN_USER_ID, 5, $SMS_CONTENT, " 1:calendar/affair/note.php?AFF_ID=".$AFF_ID );
$query = "AFFAIR セット LAST_REMIND='".$CUR_DATE を更新します。"' where AFF_ID='{$AFF_ID}'";
exequery( $connection, $query );
}
}
}
function get_code_name( $CODE_NO, $PARENT_NO )
{
if ( $CODE_NO == "" || $PARENT_NO == "" )
{
return "";
}
global $connection;
$query = "SYS_CODE where PARENT_NO='".$PARENT_NO."' and find_in_set(CODE_NO,'{$CODE_NO}')" から CODE_NAME を選択します。
$cursor = exequery( $connection, $query );
while ( $ROW = mysql_fetch_array( $cursor ) )
{
$CODE_NAME .= $ROW['CODE_NAME'].",";
}
return substr( $CODE_NAME, 0, -2 );
}
function code_list( $PARENT_NO, $SELECTED = "", $TYPE = "D", $FIELD_NAME = "" )
{
if ( $PARENT_NO == "" )
{
return;
}
グローバル $connection;
$query = "SYS_CODE から CODE_NO,CODE_NAME を選択します。ここで PARENT_NO='".$PARENT_NO."' CODE_ORDER 順に並べます";
$cursor = exequery( $connection, $query );
while ( $ROW = mysql_fetch_array( $cursor ) )
{
$CODE_NO = $ROW['CODE_NO'];
$CODE_NAME = $ROW['CODE_NAME'];
if ( $TYPE == "D" )
{
$OPTION_STR .= "if ( $CODE_NO == $SELECTED )
{
$OPTION_STR .= "選択済み";
}
$OPTION_STR .= ">".$CODE_NAME."n";
}
else if ( $TYPE == "R" )
{
$OPTION_STR .= "if ( $CODE_NO == $SELECTED )
{
$OPTION_STR .= " チェック済み";
}
$OPTION_STR .= ">n";
}
else if ( $TYPE == "C" )
{
$OPTION_STR .= "if ( find_id( $SELECTED, $CODE_NO ) )
{
$OPTION_STR .= " チェック済み";
}
$OPTION_STR .= ">n";
}
}
$OPTION_STR を返します;
}
function get_code_array( $PARENT_NO, $REVERSE = FALSE )
{
$CODE_ARRAY = array( );
if ( $PARENT_NO == "" )
{
return $CODE_ARRAY;
}
グローバル $connection;
$query = "SYS_CODE から CODE_NO,CODE_NAME を選択します。ここで PARENT_NO='".$PARENT_NO."' CODE_ORDER 順に並べます";
$cursor = exequery( $connection, $query );
while ( $ROW = mysql_fetch_array( $cursor ) )
{
$CODE_NO = $ROW['CODE_NO'];
$CODE_NAME = $ROW['CODE_NAME'];
if ( !$REVERSE )
{
$CODE_ARRAY[$CODE_NO] = $CODE_NAME;
}
else
{
$CODE_ARRAY[$CODE_NAME] = $CODE_NO;
}
}
$CODE_ARRAY を返します。
}
function sms_type_url( $SMS_TYPE, $CONTENT )
{
switch ( $SMS_TYPE )
{
case "0" :
$URL = "/general/sms/receive/";
$URL を返す;
ケース "1" :
$URL = "/general/notify/show/";
$URL を返す;
ケース "2" :
$URL = "/general/email/inbox/?BOX_ID=0";
$URL を返す;
ケース "3" :
$URL = "/general/netmeeting/";
$URL を返す;
ケース "4" :
$URL = "/一般/給与/レポート/";
$URL を返す;
ケース "5" :
$URL = "/general/calendar/";
$URL を返す;
case "6" :
if ( strstr( $CONTENT, "提交" ) && strstr( $CONTENT, "申请" ) && strstr( $CONTENT, "请批示" ) )
{
$URL = "/general/出席/管理/";
$URL を返す;
}
$URL = "/一般/出席/個人/";
$URL を返す;
ケース "7" :
$URL = "/general/workflow/list";
$URL を返す;
ケース "8" :
$URL = "/general/meeting/manage/";
$URL を返す;
case "9" :
if ( strstr( $CONTENT, "提交" ) )
{
if ( strstr( $CONTENT, "申请" ) )
{
}
}
if ( strstr( $CONTENT, "请承認" ) || strstr( $CONTENT, "部门领导" ) && strstr( $CONTENT, "承認了" ) )
{
$URL = "/general/vehicle/checkup/";
$URL を返す;
}
if ( strstr( $CONTENT, "部门审批" ) )
{
$URL = "/general/vehicle/dept_manage/";
$URL を返す;
}
$URL = "/一般/車両/";
$URL を返す;
ケース "10" :
$URL = "/general/mobile_sms/";
$URL を返す;
ケース "11" :
$URL = "/general/vote/show/";
$URL を返す;
ケース "12" :
$URL = "/general/work_plan/show/";
$URL を返す;
ケース "13" :
$URL = "/general/diary/";
$URL を返す;
ケース "14" :
$URL = "/general/news/show/";
$URL を返す;
ケース "15" :
$URL = "/general/score/submit/";
$URL を返す;
ケース "16" :
$URL = "/general/file_folder/index1.php";
$URL を返す;
ケース "17" :
$URL = "/general/netdisk";
$URL を返す;
ケース "18" :
$URL = "/general/bbs";
$URL を返す;
ケース "20" :
$URL = "/general/file_folder?FILE_SORT=2&SORT_ID=0";
$URL を返す;
case "30" :
$URL = "/general/training/manage/show";
$URL を返す;
case "31" :
if ( strstr( $CONTENT, "批准了" ) || strstr( $CONTENT, "未批准" ) || strstr( $CONTENT, "批准了" ) )
{
$URL = "/全般/トレーニング/トレーニング/適用/";
$URL を返す;
}
$URL = "/general/training/manage/apply_manage/";
$URL を返す;
ケース "32" :
$URL = "/general/training/train/survey/";
$URL を返す;
case "33" :
$URL = "/general/training/train/information/";
$URL を返す;
ケース "34" :
$URL = "/general/training/train/assesment/";
$URL を返す;
ケース "35" :
$URL = "/general/hrms/manage/";
}
$URL を返す;
}
関数 avatar_size( $AVATAR )
{
グローバル $ROOT_PATH;
グローバル $接続;
グローバル $AVATAR_WIDTH;
グローバル $AVATAR_HEIGHT;
$FILENAME = $ROOT_PATH."images/avatar/".$AVATAR.".gif";
if ( !$AVATAR_WIDTH && !$AVATAR_HEIGHT )
{
$query = "インターフェイスから AVATAR_WIDTH,AVATAR_HEIGHT を選択";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$AVATAR_WIDTH = $ROW['AVATAR_WIDTH'];
$AVATAR_HEIGHT = $ROW['AVATAR_HEIGHT'];
}
}
$IMG_ATTR = @getimagesize( $FILENAME );
if ( $AVATAR_WIDTH {
$IMG_ATTR[0] = $AVATAR_WIDTH;
}
if ( $AVATAR_HEIGHT {
$IMG_ATTR[1] = $AVATAR_HEIGHT;
}
if ( $IMG_ATTR[0] {
$IMG_ATTR[0] = 15;
}
if ( $IMG_ATTR[1] {
$IMG_ATTR[1] = 15;
}
return "width="".$IMG_ATTR['0']."" height="{$IMG_ATTR['1']}"";
}
関数 format_cvs( $STR )
{
$STR = str_replace( """, "", $STR );
$STR = str_replace( "n", "", $STR );
$STR = str_replace ( "r", "", $STR );
$STR = str_replace( "'", "\'", $STR );
if ( strpos( $STR, "," ) === FALSE )
{
$STRを返す
}
$STR = """.$STR.""";
$STRを返す;
$CTR = 0;
$I = 0;
for ( ; $I if ( $CTR == strlen( $ENCRYPT_KEY ) )
{
$CTR = 0;
}
$TMP .= substr( $TXT, $I, 1 ) ^ substr( $ENCRYPT_KEY, $CTR, 1 ); $TMP を返す
}
関数 encrypt_str( $TXT, $KEY )
{
srand( ( double )microtime( ) * 1000000 )
$ENCRYPT_KEY = md5( rand( 0, 32000 ) ); ;
$TMP = "";
$I = 0;
for ( ; $I if ( $CTR == strlen( $ENCRYPT_KEY ) )
{
$CTR = 0;
}
$TMP .= substr( $ENCRYPT_KEY, $CTR, 1 ).( substr( $TXT, $I, 1 ) ^ substr( $ENCRYPT_KEY, $CTR, 1 ) ); +$CTR;
}
keyed_str( $TMP, $KEY );
関数 decrypt_str( $TXT, $KEY )
{
$TXT = keyed_str( $TXT, $KEY );
$TMP = "";
$I = 0;
for ( ; $I
$MD5 = substr( $TXT, $I, 1 );
++$私;
$TMP .= substr( $TXT, $I, 1 ) ^ $MD5;
}
$TMP を返します。
}
関数 get_client_ip( )
{
if ( getenv( "REMOTE_ADDR" ) && strcasecmp( getenv( "REMOTE_ADDR" ), "unknown" ) )
{
$onlineip = getenv( "REMOTE_ADDR" );
$onlineip を返します;
}
if ( isset( $_SERVER['REMOTE_ADDR'] ) && $_SERVER['REMOTE_ADDR'] && strcasecmp( $_SERVER['REMOTE_ADDR'], "unknown" ) )
{
$onlineip = $_SERVER['REMOTE_ADDR '];
$onlineip を返します;
}
if ( getenv( "HTTP_CLIENT_IP" ) && strcasecmp( getenv( "HTTP_CLIENT_IP" ), "unknown" ) )
{
$onlineip = getenv( "HTTP_CLIENT_IP" );
$onlineip を返します;
}
if ( getenv( "HTTP_X_FORWARDED_FOR" ) && strcasecmp( getenv( "HTTP_X_FORWARDED_FOR" ), "unknown" ) )
{
$onlineip = getenv( "HTTP_X_FORWARDED_FOR" );
}
$onlineip を返します;
}
function dept_long_name( $DEPT_ID )
{
global $SYS_DEPARTMENT;
include_once( "inc/Department.php" );
if ( is_array( $SYS_DEPARTMENT ) )
{
}
if ( !array_key_exists( $DEPT_ID, $SYS_DEPARTMENT ) )
{
include_once( "inc/utility_org.php" );
キャッシュ部門( );
include( "inc/デパートメント.php" );
}
return $SYS_DEPARTMENT[$DEPT_ID]['DEPT_LONG_NAME'];
}
function sms_remind( $SMS_TYPE, $SMS_CHECKED = "" )
{
global $connection;
グローバル $LOGIN_USER_ID;
$query = "select * from SYS_PARA where PARA_NAME='SMS_REMIND'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$PARA_VALUE = $ROW['PARA_VALUE'];
}
$REMIND_ARRAY =explode( "|", $PARA_VALUE );
$SMS_REMIND = $REMIND_ARRAY[0];
$SMS2_REMIND = $REMIND_ARRAY[1];
$SMS3_REMIND = $REMIND_ARRAY[2];
if ( find_id( $SMS3_REMIND, $SMS_TYPE ) )
{
echo "if ( $SMS_CHECKED == "1" || find_id( $SMS_REMIND, $SMS_TYPE ) )
{
echo " チェック済み";
}
echo "> ";
}
$query = "SMS2_PRIV から * を選択";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$TYPE_PRIV = $ROW['TYPE_PRIV'];
$SMS2_REMIND_PRIV = $ROW['SMS2_REMIND_PRIV'];
}
if ( find_id( $TYPE_PRIV, $SMS_TYPE ) && find_id( $SMS2_REMIND_PRIV, $LOGIN_USER_ID ) )
{
echo "if ( find_id( $SMS2_REMIND, $SMS_TYPE ) )
{
echo " チェック済み";
}
echo ">";
}
}
function sms_select_remind( $SMS_TYPE, $SMS_CHECKED = "" )
{
return "rn
rn rn
}
function sms2_select_remind( $SMS_TYPE, $SMS_CHECKED = "" )
{
global $connection;
グローバル $LOGIN_USER_ID;
$query = "SMS2_PRIV から * を選択";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$TYPE_PRIV = $ROW['TYPE_PRIV'];
$SMS2_REMIND_PRIV = $ROW['SMS2_REMIND_PRIV'];
}
if ( find_id( $TYPE_PRIV, $SMS_TYPE ) && find_id( $SMS2_REMIND_PRIV, $LOGIN_USER_ID ) )
{
return "

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
