У меня странная проблема с анализом данных из файла с файлом_get_contents.Анализ данных из файла с помощью PHP
Содержимое файла: 0,0,0 (есть 3 случайных чисел в диапазоне от 0 до 255, разделенных запятой)
$s = file_get_contents($this->filePath);
var_dump(trim($s));
$rgb = explode(',', trim($s));
var_dump($rgb);
Выход:
string(8) "0,0,0"
array(3) {
[0]=>
string(4) "0"
[1]=>
string(1) "0"
[2]=>
string(1) "0"
}
И если я пытаюсь преобразования в целое число:
string(14) "255,128,255"
array(3) {
[0]=>
string(6) "255"
[1]=>
string(3) "128"
[2]=>
string(3) "255"
}
echo((int)$rgb[0]); // -> 0
echo((int)$rgb[1]); // -> 128
echo((int)$rgb[2]); // -> 255
файл в кодировке UTF-8, и я думаю, что есть некоторые пробелы символ в разобранном строке, но я не знаю, что мне делать с этим, потому что простая обрезка не работает.
Спасибо за идеи!
Я думаю, что это проблема с отметкой байтового заказа в начале вашего файла. Попробуйте установить 'mb_internal_encoding ('UTF-8');' перед вызовом 'file_get_contents' и посмотреть, поможет ли это. –