簡體   English   中英

在PHP中打開.bat文件

[英]Open .bat file in php

我想制作一個在線php hexeditor,用戶在其中上傳文件,服務器在其上執行指定的hexedit,然后將新文件保存在服務器上。 我當時想我應該編寫一個.bat文件,該文件在Windows上打開一個十六進制編輯器,執行指定的操作,然后返回新文件。 我可以使用php函數system()或類似的東西。 有人知道做這一切的好方法嗎?

當然,您只能使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM