182 lines
3.6 KiB
PHP
Executable File
182 lines
3.6 KiB
PHP
Executable File
<?php
|
|
|
|
function create_guid()
|
|
{
|
|
$microTime = microtime();
|
|
list ($a_dec, $a_sec) = explode(" ", $microTime);
|
|
|
|
$dec_hex = sprintf("%x", $a_dec * 1000000);
|
|
$sec_hex = sprintf("%x", $a_sec);
|
|
|
|
ensure_length($dec_hex, 5);
|
|
ensure_length($sec_hex, 6);
|
|
|
|
$guid = "";
|
|
$guid .= $dec_hex;
|
|
$guid .= create_guid_section(3);
|
|
$guid .= '-';
|
|
$guid .= create_guid_section(4);
|
|
$guid .= '-';
|
|
$guid .= create_guid_section(4);
|
|
$guid .= '-';
|
|
$guid .= create_guid_section(4);
|
|
$guid .= '-';
|
|
$guid .= $sec_hex;
|
|
$guid .= create_guid_section(6);
|
|
|
|
return $guid;
|
|
}
|
|
|
|
function create_guid_section($characters)
|
|
{
|
|
$return = "";
|
|
for ($i = 0; $i < $characters; $i ++) {
|
|
$return .= sprintf("%x", mt_rand(0, 15));
|
|
}
|
|
return $return;
|
|
}
|
|
|
|
function ensure_length(&$string, $length)
|
|
{
|
|
$strlen = strlen($string);
|
|
if ($strlen < $length) {
|
|
$string = str_pad($string, $length, "0");
|
|
} else
|
|
if ($strlen > $length) {
|
|
$string = substr($string, 0, $length);
|
|
}
|
|
}
|
|
|
|
function ch($str)
|
|
{
|
|
return iconv("IBM852", "UTF-8", $str);
|
|
}
|
|
|
|
function checkCharset($testString, $targetString)
|
|
{
|
|
$out = false;
|
|
$encoding = array(
|
|
"ASCII",
|
|
"ISO-8859-1",
|
|
"ISO-8859-2",
|
|
"ISO-8859-3",
|
|
"ISO-8859-4",
|
|
"ISO-8859-5",
|
|
"ISO-8859-7",
|
|
"ISO-8859-9",
|
|
"ISO-8859-10",
|
|
"ISO-8859-13",
|
|
"ISO-8859-14",
|
|
"ISO-8859-15",
|
|
"ISO-8859-16",
|
|
"KOI8-R",
|
|
"KOI8-U",
|
|
"KOI8-RU",
|
|
"CP1250",
|
|
"CP1251",
|
|
"CP1252",
|
|
"CP1253",
|
|
"CP1254",
|
|
"CP1257",
|
|
"CP850",
|
|
"CP866",
|
|
"Mac Roman",
|
|
"Mac CentralEurope",
|
|
"Mac Iceland",
|
|
"Mac Croatian",
|
|
"Mac Romania",
|
|
"Mac Cyrillic",
|
|
"Mac Ukraine",
|
|
"Mac Greek",
|
|
"Mac Turkish",
|
|
"Macintosh",
|
|
"ISO-8859-6",
|
|
"ISO-8859-8",
|
|
"CP1255",
|
|
"CP1256",
|
|
"CP862",
|
|
"Mac Hebrew",
|
|
"Mac Arabic",
|
|
"EUC-JP",
|
|
"SHIFT_JIS",
|
|
"CP932",
|
|
"ISO-2022-JP",
|
|
"ISO-2022-JP-2",
|
|
"ISO-2022-JP-1",
|
|
"EUC-CN",
|
|
"HZ",
|
|
"GBK",
|
|
"GB18030",
|
|
"EUC-TW",
|
|
"BIG5",
|
|
"CP950",
|
|
"BIG5-HKSCS",
|
|
"ISO-2022-CN",
|
|
"ISO-2022-CN-EXT",
|
|
"EUC-KR",
|
|
"CP949",
|
|
"ISO-2022-KR",
|
|
"JOHAB",
|
|
"ARMSCII-8",
|
|
"Georgian-Academy",
|
|
"Georgian-PS",
|
|
"KOI8-T",
|
|
"TIS-620",
|
|
"CP874",
|
|
"MacThai",
|
|
"MuleLao-1",
|
|
"CP1133",
|
|
"VISCII",
|
|
"TCVN",
|
|
"CP1258",
|
|
"HP-ROMAN8",
|
|
"NEXTSTEP",
|
|
"UTF-8",
|
|
"UCS-2",
|
|
"UCS-2BE",
|
|
"UCS-2LE",
|
|
"UCS-4",
|
|
"UCS-4BE",
|
|
"UCS-4LE",
|
|
"UTF-16",
|
|
"UTF-16BE",
|
|
"UTF-16LE",
|
|
"UTF-32",
|
|
"UTF-32BE",
|
|
"UTF-32LE",
|
|
"UTF-7",
|
|
"C99",
|
|
"JAVA",
|
|
"UCS-2-INTERNAL",
|
|
"UCS-4-INTERNAL",
|
|
"CP437",
|
|
"CP737",
|
|
"CP775",
|
|
"CP850",
|
|
"CP852",
|
|
"CP853",
|
|
"CP855",
|
|
"CP857",
|
|
"CP858",
|
|
"CP860",
|
|
"CP861",
|
|
"CP863",
|
|
"CP865",
|
|
"CP869",
|
|
"CP1125",
|
|
"CP864",
|
|
"EUC-JISX0213",
|
|
"Shift_JISX0213",
|
|
"ISO-2022-JP-3",
|
|
"TDS565",
|
|
"RISCOS-LATIN1"
|
|
);
|
|
|
|
foreach ($encoding as $v) {
|
|
if (iconv($v, "utf-8", $testString) === $targetString) {
|
|
$out = $v;
|
|
}
|
|
}
|
|
|
|
return $out;
|
|
} |