
23.11.2008, 02:00
|
|
Участник форума
Регистрация: 04.05.2006
Сообщений: 161
Провел на форуме: 389768
Репутация:
158
|
|
То же самое, только на PHP и в 2 раза меньше.
Плюс корректно работает с UTF-8.
PHP код:
<?php
$dir = scandir('.');
foreach($dir as $filename)
{
if($filename == '.' or $filename == '..') continue;
if(substr($filename,-7) != 'torrent') continue;
$handle = fopen($filename, "r");
$buffer = fgets($handle, 4096);
fclose($handle);
preg_match('#\[torrents.ru\].(.+?).torrent#',$filename,$id);
$result = explode(':', $buffer);
foreach($result as $key => $date)
{
if(substr($date,0,4)=='name') {
$name = str_replace(' ','.',substr($result[$key+1],0,strlen($result[$key+1])-2));
break;
}
}
if(detectUTF8($name)) $name = iconv('UTF-8', 'windows-1251', $name);
echo "[{$id[1]}].$name.torrent<br>\n"; //Or Rename File
}
function detectUTF8($string)
{
return preg_match('%(?:
[\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
|\xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
|\xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
|\xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
|[\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
|\xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)+%xs', $string);
}
?>
Не понимаю, зачем под такой бред создавать отдельную тему, и ставить свои копирайты.
Последний раз редактировалось Solker; 23.11.2008 в 03:30..
|
|
|