|
Чтение строки из файла
| ☑ |
0
ChunLee
25.10.16
✎
14:20
|
Доброго дня. Решил заморочиться и сделать чтение из txt файла строки, хеширование на PHP и кодировка base64. Столкнулся вот с какой штукой. Результаты исполнения этих 2 разных кодов:
$fp = file_get_contents('C:\Keys\Docum\base64.txt');
echo base64_encode(sha1($fp, 'windows-1251', 'UTF-8'),true);
$fp = '7784397263746823874Васяпу Пупкин';
echo base64_encode(sha1($fp, 'windows-1251', 'UTF-8'),true);
различаются
Когда я писал вот такой код
$fp = '7784397263746823874Васяпу Пупкин';
echo $fp;
результат выходит: 7784397263746823874Васяпу Пупкин, а вот дальше результаты хеширования отличаются, ну и base64 соответственно. В чем проблема? После чтения из файла нужно что-то еще делать с полученной строкой?
|
|
1
eRik
25.10.16
✎
14:27
|
что за гибрид
sha1($fp, 'windows-1251', 'UTF-8') ?
по мануалу должно быть
string sha1 ( string $str [, bool $raw_output = false ] )
ну и file_get_contents берет весь файл, а не только одну строку. Т.е. там может быть в конце перевод строки или еще что-нибудь.
|
|
2
ChunLee
25.10.16
✎
14:51
|
Не то скопировал, текст выглядит так.
$fp = file_get_contents('C:\Keys\Docum\base64.txt');
echo base64_encode(sha1($fp,true);
Я проверил. Зашел в файл и скопировал из этого файла текст в код. Точно нет лишних символов. Так же я через echo вывел то что считывает php. Строка без лишних символов, различаются результаты далее
|
|
3
ChunLee
25.10.16
✎
14:54
|
Может надо задать явно кодировку? или еще что?
|
|
4
eRik
25.10.16
✎
15:14
|
Скрипт, в котором написано
$fp = '7784397263746823874Васяпу Пупкин';
в той же кодировке, что и считываемый файл?
Если сам файл в утф8 то возможно еще в нем есть БОМ заголовок.
|
|
5
ChunLee
26.10.16
✎
05:09
|
файл в utf-8, а что за БОМ заголовок
|
|
6
mehfk
26.10.16
✎
05:24
|
В википедии прочитай.
|
|
7
ChunLee
26.10.16
✎
05:31
|
Уже прочитал, спасибо. Щас будем тестить, позже результат чиркану
|
|
8
ChunLee
26.10.16
✎
06:34
|
Не в этом проблема. Что-то другое
|
|
9
eRik
26.10.16
✎
11:24
|
(8)
Все совпадает. Внимательнее формируйте текстовый файл.
|
|