Latrekc
Новичок
is_binary()
Мне необходимо проверять является ли некоторый файл текстовым или бинарным. В поиске наткнулся на возможное
решение , но реализовать что то не получается - все файлы определяются как бинарные.
Скорее всего я ошибся в регулярном выражении, но где именно пока понять не могу
Мне необходимо проверять является ли некоторый файл текстовым или бинарным. В поиске наткнулся на возможное
решение , но реализовать что то не получается - все файлы определяются как бинарные.
PHP:
function is_binary($link) {
$tmpStr = '';
@$fp = fopen($link, 'rb');
@$tmpStr = fread($fp, 256);
@fclose($fp);
if($tmpStr != '') {
$tmpStr = str_replace(chr(10), '', $tmpStr);
$tmpStr = str_replace(chr(13), '', $tmpStr);
$tmpInt = 0;
for($i =0; $i < strlen($tmpStr); $i++) {
if(preg_match("/^[\х20-\x7f]|\x0a|\x0d|\x09/s", $tmpStr{$i})) {
return TRUE;
}
}
return FALSE;
} else {
return FALSE;
}
}