Открыть .bat файл в php - PullRequest
       22

Открыть .bat файл в php

1 голос
/ 24 июня 2010

Я хочу создать онлайн-хэддитор php, где пользователь загружает файл, сервер выполняет для него определенный hexedit, а затем новый файл сохраняется на сервере. Я думал, что я должен написать .bat файл, который открывает шестнадцатеричный редактор на окнах, выполняет указанные действия, а затем возвращает новый файл. Я мог бы использовать функцию php system () или что-то в этом роде. Кто-нибудь знает хороший способ сделать все это?

1 Ответ

1 голос
/ 24 июня 2010

Вы можете достичь этого, используя только PHP.

Что вам нужно сделать, это:

  • чтение файла как двоичного файла
  • преобразовать в шестнадцатеричное представление
  • покажите, как вам нравится

Проверьте функцию fread , есть пример, показывающий, как читать файл как двоичный файл.

Затем используйте функцию bin2hex , которая даст вам шестнадцатеричное представление двоичных данных.

Вот краткий пример:

<?php
$filename = "c:\\files\\somepic.gif";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);

$cols = 8;
$hex = bin2hex($contents);
$hex_split = str_split($hex,4*$cols);

foreach($hex_split as $h)
{
  $tmp = str_split($h, 4);
  foreach($tmp as $t)
    echo $t.' ';
  echo "\r\n";
}
?>

Вы получите, например:

d45b 0500 0000 0000 0c00 0000 0000 0000 
0000 0000 0000 0000 0100 0000 0000 0000 
0000 0000 0000 0000 0100 0000 0300 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
e05b 0500 0000 0000 f400 0000 0000 0000 
0000 0000 0000 0000 0100 0000 0000 0000 
0000 0000 0000 0000
...