Просмотр кода
Название: Массовая перекодировка
Описание: PHP скрипт для массовой перекодировки файлов из одной кодировки в другую. Возможности: -Рекурсия -Возможность фильтрации по расширению -Не использует iconv и других модулей для перекодировки, алгоритм написан Автором с нуля Поддерживаемые кодировки: utf-8, koi8-r, koi8-t, koi8-u, koi8-ru, iso-8859-1,iso-8859-9, iso-8859-8, iso-8859-7, iso-8859-6, iso-8859-5, iso-8859-4, iso-8859-3, iso-8859-2, iso-8859-16, iso-8859-15, iso-8859-14, iso-8859-13, iso-8859-11, iso-8859-10, cp922, cp974, c
Добавил: NoName233247533
Дата: 23 июля 2019, в 10:12 Комментарии (0)
Описание: PHP скрипт для массовой перекодировки файлов из одной кодировки в другую. Возможности: -Рекурсия -Возможность фильтрации по расширению -Не использует iconv и других модулей для перекодировки, алгоритм написан Автором с нуля Поддерживаемые кодировки: utf-8, koi8-r, koi8-t, koi8-u, koi8-ru, iso-8859-1,iso-8859-9, iso-8859-8, iso-8859-7, iso-8859-6, iso-8859-5, iso-8859-4, iso-8859-3, iso-8859-2, iso-8859-16, iso-8859-15, iso-8859-14, iso-8859-13, iso-8859-11, iso-8859-10, cp922, cp974, c
<?
/* Written by Eugen */
/* Variables */
$directory = "1"; // Home directory
$recursive = true; // Recursive
$incharset = "utf-8"; // Input charset
$tocharset = "cp1251"; // Output charset
$extension = "php,phtml,php3,php4,php5,html,htm,js,jsp,asp,pl,txt"; // Files extensions to reencode (* - all files)
/* All unlimitted */
@error_reporting(0);
@set_time_limit(0);
@ini_set("max_execution_time",0);
@ini_set("memory_limit","9999M");
/* Main script */
if (PHP_VERSION <= 4.2) die ("You have too old version of PHPrn");
$incharset=trim(str_replace("-","_",str_replace("WINDOWS-","CP",strtoupper($incharset))));
$tocharset=trim(str_replace("-","_",str_replace("WINDOWS-","CP",strtoupper($tocharset))));
$ext=explode(",",strtolower($extension));
if ($incharset == $tocharset) die ("Input and output charsets are equivalent...rn");
function ext ($file) {
$arr=explode(".",$file);
$ext=end($arr);
$ext=strtolower($ext);
$ext=trim($ext);
return $ext;
}
function unichr($c) {
if ($c <= 0x7F) {
return chr($c);
}
else if ($c <= 0x7FF) {
return chr(0xC0 | $c >> 6).chr(0x80 | $c & 0x3F);
}
else if ($c <= 0xFFFF) {
return chr(0xE0 | $c >> 12).chr(0x80 | $c >> 6 & 0x3F).chr(0x80 | $c & 0x3F);
}
else if ($c <= 0x10FFFF) {
return chr(0xF0 | $c >> 18).chr(0x80 | $c >> 12 & 0x3F).chr(0x80 | $c >> 6 & 0x3F).chr(0x80 | $c & 0x3F);
}
else {
return false;
}
}
function uniord($c) {
$h = ord($c[0]);
if ($h <= 0x7F) {
return $h;
}
elseif ($h < 0xC2) {
return false;
}
elseif ($h <= 0xDF) {
return ($h & 0x1F) << 6 | (ord($c[1]) & 0x3F);
}
elseif ($h <= 0xEF) {
return ($h & 0x0F) << 12 | (ord($c[1]) & 0x3F) << 6 | (ord($c[2]) & 0x3F);
}
elseif ($h <= 0xF4) {
return ($h & 0x0F) << 18 | (ord($c[1]) & 0x3F) << 12 | (ord($c[2]) & 0x3F) << 6 | (ord($c[3]) & 0x3F);
}
else return false;
}
function reencode ($file) {
global $incharset,$tocharset;
/* Charset database */
$CP1046="00:0000;01:0001;02:0002;03:0003;04:0004;05:0005;06:0006;07:0007;08:0008;09:0009;0A:000A;0B:000B;0C:000C;0D:000D;0E:000E;0F:000F;10:0010;11:0011;12:0012;13:0013;14:0014;15:0015;16:0016;17:0017;18:0018;19:0019;1A:001A;1B:001B;1C:001C;1D:001D;1E:001E;1F:001F;20:0020;21:0021;22:0022;23:0023;24:0024;25:0025;26:0026;27:0027;28:0028;29:0029;2A:002A;2B:002B;2C:002C;2D:002D;2E:002E;2F:002F;30:0030;31:0031;32:0032;33:0033;34:0034;35:0035;36:0036;37:0037;38:0038;39:0039;3A:003A;3B:003B;3C:003C;3D:003D;3E:003E;3F:003F;40:0040;41:0041;42:0042;43:0043;44:0044;45:0045;46:0046;47:0047;48:0048;49:0049;4A:004A;4B:004B;4C:004C;4D:004D;4E:004E;4F:004F;50:0050;51:0051;52:0052;53:0053;54:0054;55:0055;56:0056;57:0057;58:0058;59:0059;5A:005A;5B:005B;5C:005C;5D:005D;5E:005E;5F:005F;60:0060;61:0061;62:0062;63:0063;64:0064;65:0065;66:0066;67:0067;68:0068;69:0069;6A:006A;6B:006B;6C:006C;6D:006D;6E:006E;6F:006F;70:0070;71:0071;72:0072;73:0073;74:0074;75:0075;76:0076;77:0077;78:0078;79:0079;7A:007A;7B:007B;7C:007C;7D:007D;7E:007E;7F:007F;80:FE88;81:00D7;82:00F7;83:F8F6;84:F8F5;85:F8F4;86:F8F7;87:FE71;88:0088;89:25A0;8A:2502;8B:2500;8C:2510;8D:250C;8E:2514;8F:2518;90:FE79;91:FE7B;92:FE7D;93:FE7F;94:FE77;95:FE8A;96:FEF0;97:FEF3;98:FEF2;99:FECE;9A:FECF;9B:FED0;9C:FEF6;9D:FEF8;9E:FEFA;9F:FEFC;A0:00A0;A1:F8FA;A2:F8F9;A3:F8F8;A4:00A4;A5:F8FB;A6:FE8B;A7:FE91;A8:FE97;A9:FE9B;AA:FE9F;AB:FEA3;AC:060C;AD:00AD;AE:FEA7;AF:FEB3;B0:0660;B1:0661;B2:0662;B3:0663;B4:0664;B5:0665;B6:0666;B7:0667;B8:0668;B9:0669;BA:FEB7;BB:061B;BC:FEBB;BD:FEBF;BE:FECA;BF:061F;C0:FECB;C1:0621;C2:0622;C3:0623;C4:0624;C5:0625;C6:0626;C7:0627;C8:0628;C9:0629;CA:062A;CB:062B;CC:062C;CD:062D;CE:062E;CF:062F;D0:0630;D1:0631;D2:0632;D3:0633;D4:0634;D5:0635;D6:0636;D7:0637;D8:FEC7;D9:0639;DA:063A;DB:FECC;DC:FE82;DD:FE84;DE:FE8E;DF:FED3;E0:0640;E1:0641;E2:0642;E3:0643;E4:0644;E5:0645;E6:0646;E7:0647;E8:0648;E9:0649;EA:064A;EB:064B;EC:064C;ED:064D;EE:064E;EF:064F;F0:0650;F1:0651;F2:0652;F3:FED7;F4:FEDB;F5:FEDF;F6:F8FC;F7:FEF5;F8:FEF7;F9:FEF9;FA:FEFB;FB:FEE3;FC:FEE7;FD:FEEC;FE:FEE9;";
$CP1124="00:0000;01:0001;02:0002;03:0003;04:0004;05:0005;06:0006;07:0007;08:0008;09:0009;0A:000A;0B:000B;0C:000C;0D:000D;0E:000E;0F:000F;10:0010;11:0011;12:0012;13:0013;14:0014;15:0015;16:0016;17:0017;18:0018;19:0019;1A:001A;1B:001B;1C:001C;1D:001D;1E:001E;1F:001F;20:0020;21:0021;22:0022;23:0023;24:0024;25:0025;26:0026;27:0027;28:0028;29:0029;2A:002A;2B:002B;2C:002C;2D:002D;2E:002E;2F:002F;30:0030;31:0031;32:0032;33:0033;34:0034;35:0035;36:0036;37:0037;38:0038;39:0039;3A:003A;3B:003B;3C:003C;3D:003D;3E:003E;3F:003F;40:0040;41:0041;42:0042;43:0043;44:0044;45:0045;46:0046;47:0047;48:0048;49:0049;4A:004A;4B:004B;4C:004C;4D:004D;4E:004E;4F:004F;50:0050;51:0051;52:0052;53:0053;54:0054;55:0055;56:0056;57:0057;58:0058;59:0059;5A:005A;5B:005B;5C:005C;5D:005D;5E:005E;5F:005F;60:0060;61:0061;62:0062;63:0063;64:0064;65:0065;66:0066;67:0067;68:0068;69:0069;6A:006A;6B:006B;6C:006C;6D:006D;6E:006E;6F:006F;70:0070;71:0071;72:0072;73:0073;74:0074;75:0075;76:0076;77:0077;78:0078;79:0079;7A:007A;7B:007B;7C:007C;7D:007D;7E:007E;7F:007F;80:0080;81:0081;82:0082;83:0083;84:0084;85:0085;86:0086;87:0087;88:0088;89:0089;8A:008A;8B:008B;8C:008C;8D:008D;8E:008E;8F:008F;90:0090;91:0091;92:0092;93:0093;94:0094;95:0095;96:0096;97:0097;98:0098;99:0099;9A:009A;9B:009B;9C:009C;9D:009D;9E:009E;9F:009F;A0:00A0;A1:0401;A2:0402;A3:0490;A4:0404;A5:0405;A6:0406;A7:0407;A8:0408;A9:0409;AA:040A;AB:040B;AC:040C;AD:00AD;AE:040E;AF:040F;B0:0410;B1:0411;B2:0412;B3:0413;B4:0414;B5:0415;B6:0416;B7:0417;B8:0418;B9:0419;BA:041A;BB:041B;BC:041C;BD:041D;BE:041E;BF:041F;C0:0420;C1:0421;C2:0422;C3:0423;C4:0424;C5:0425;C6:0426;C7:0427;C8:0428;C9:0429;CA:042A;CB:042B;CC:042C;CD:042D;CE:042E;CF:042F;D0:0430;D1:0431;D2:0432;D3:0433;D4:0434;D5:0435;D6:0436;D7:0437;D8:0438;D9:0439;DA:043A;DB:043B;DC:043C;DD:043D;DE:043E;DF:043F;E0:0440;E1:0441;E2:0442;E3:0443;E4:0444;E5:0445;E6:0446;E7:0447;E8:0448;E9:0449;EA:044A;EB:044B;EC:044C;ED:044D;EE:044E;EF:044F;F0:2116;F1:0451;F2:0452;F3:0491;F4:0454;F5:0455;F6:0456;F7:0457;F8:0458;F9:0459;FA:045A;FB:045B;FC:045C;FD:00A7;FE:045E;FF:045F;";
$CP1125="00:0000;01:0001;02:0002;03:0003;04:0004;05:0005;06:0006;07:0007;08:0008;09:0009;0A:000A;0B:000B;0C:000C;0D:000D;0E:000E;0F:000F;10:0010;11:0011;12:0012;13:0013;14:0014;15:0015;16:0016;17:0017;18:0018;19:0019;1A:001A;1B:001B;1C:001C;1D:001D;1E:001E;1F:001F;20:0020;21:0021;22:0022;23:0023;24:0024;25:0025;26:0026;27:0027;28:0028;29:0029;2A:002A;2B:002B;2C:002C;2D:002D;2E:002E;2F:002F;30:0030;31:0031;32:0032;33:0033;34:0034;35:0035;36:0036;37:0037;38:0038;39:0039;3A:003A;3B:003B;3C:003C;3D:003D;3E:003E;3F:003F;40:0040;41:0041;42:0042;43:0043;44:0044;45:0045;46:0046;47:0047;48:0048;49:0049;4A:004A;4B:004B;4C:004C;4D:004D;4E:004E;4F:004F;50:0050;51:0051;52:0052;53:0053;54:0054;55:0055;56:0056;57:0057;58:0058;59:0059;5A:005A;5B:005B;5C:005C;5D:005D;5E:005E;5F:005F;60:0060;61:0061;62:0062;63:0063;64:0064;65:0065;66:0066;67:0067;68:0068;69:0069;6A:006A;6B:006B;6C:006C;6D:006D;6E:006E;6F:006F;70:0070;71:0071;72:0072;73:0073;74:0074;75:0075;76:0076;77:0077;78:0078;79:0079;7A:007A;7B:007B;7C:007C;7D:007D;7E:007E;7F:007F;80:0410;81:0411;82:0412;83:0413;84:0414;85:0415;86:0416;87:0417;88:0418;89:0419;8A:041A;8B:041B;8C:041C;8D:041D;8E:041E;8F:041F;90:0420;91:0421;92:0422;93:0423;94:0424;95:0425;96:0426;97:0427;98:0428;99:0429;9A:042A;9B:042B;9C:042C;9D:042D;9E:042E;9F:042F;A0:0430;A1:0431;A2:04
Добавил: NoName233247533
Дата: 23 июля 2019, в 10:12 Комментарии (0)