ФорумПрограммированиеPHP для идиотов → hex-представление файла

hex-представление файла

  • unikom

    Сообщения: 43 Репутация: N Группа: Кто попало

    Spritz 22 октября 2007 г. 15:33

    Как средствами php получить hex файла?
  • Patrick

    Сообщения: 506 Репутация: N Группа: Кто попало

    Spritz 22 октября 2007 г. 16:26, спустя 52 минуты 25 секунд

  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 22 октября 2007 г. 16:27, спустя 1 минуту 53 секунды

    Ты путаешь hex и hash
    from TRIAL with LOVE
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 22 октября 2007 г. 16:31, спустя 3 минуты 47 секунд

    Считать файл, для каждого символа узнать его код, привести к 16-ричному виду.
  • unikom

    Сообщения: 43 Репутация: N Группа: Кто попало

    Spritz 23 октября 2007 г. 8:31, спустя 15 часов 59 минут 32 секунды


    Считать файл, для каждого символа узнать его код, привести к 16-ричному виду.

    так и сделал в итоге. Надеялся что в PHP есть встроенная функция)
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 23 октября 2007 г. 10:51, спустя 2 часа 20 минут 42 секунды

  • unikom

    Сообщения: 43 Репутация: N Группа: Кто попало

    Spritz 23 октября 2007 г. 13:18, спустя 2 часа 26 минут 59 секунд


    http://ru2.php.net/manual/en/function.bin2hex.php ?

    Эта функция для приведения бинарного(двоичного вида) к хекс(шеснадцатиричному)
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 23 октября 2007 г. 13:22, спустя 4 минуты

    А, блин )
  • unikom

    Сообщения: 43 Репутация: N Группа: Кто попало

    Spritz 23 октября 2007 г. 13:24, спустя 1 минуту 51 секунду

    Вообщем сделал как сделал.
    На случай если кому-то понадобиться то же самое, выкладываю свою писанину.

    function file2hex($source){
    $length = filesize($source);
    $content = fread(fopen($source, "r"), $length);
    $hexcontent = "";
    for($i=0; $i<$length; $i++){
    $val = ord($content[$i]);
    $hex4char = dechex($val);
    if(strlen($hex4char)==2)$hexcontent.= $hex4char;
    elseif(strlen($hex4char)==1)$hexcontent.= "0".$hex4char;
    else die("Function Error");
    }
    return $hexcontent;
    }

    Не так уж и много получилось)
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 23 октября 2007 г. 13:27, спустя 2 минуты 58 секунд

    Не по хексу, но советую глянуть документацию по функции file_get_contents().
  • unikom

    Сообщения: 43 Репутация: N Группа: Кто попало

    Spritz 23 октября 2007 г. 13:38, спустя 10 минут 50 секунд

    У меня функция немного побольше делала, в ней file_get_contents() не подошла бы. Тут просто подрезанную выложил. Хотя с file_get_contents() не на много лаконичнее бы вышло, пришлось бы отдельно длинну строки находить.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!