我想創建一個在線php hexeditor,用戶上傳文件,服務器對其執行指定的hexedit,然後將新文件保存在服務器上。我在想,我應該編寫一個.bat文件,在Windows上打開十六進制編輯器,執行指定的操作,然後返回新文件。我可以使用php函數系統()或類似的東西。任何人都知道做這一切的好方法?在php中打開.bat文件
回答
你當然可以使用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
非常感謝!在我打開它之後,能否幫助我編寫和編輯該文件? – apple 2010-06-24 01:31:36
另外,當我試圖用一個非常大的文件來做這件事時,我得到一個錯誤。難道這只是一個PHP的限制? – apple 2010-06-24 01:42:14
爲了將來的參考,我記得閱讀了一些有關PHP的文件超過2GB的問題。 – mowwwalker 2011-07-23 19:06:05
- 1. 從Outlook VBA打開.bat文件
- 2. 從另一個.bat文件打開.bat作爲txt
- 3. 通過Flask中的.bat文件打開.exe文件
- 4. * .bat從Eclipse打開的文件在錯誤的目錄中打開
- 5. 在Windows中打開mysql控制檯的簡單.bat文件?
- 6. 在.bat文件中打開另一個程序
- 7. PHP打開文件?
- 8. 打開可執行文件後繼續處理bat文件
- 9. 在.bat文件中
- 10. 鏈接文件在PHP中不打開
- 11. 使用cmd或bat文件打開文件夾中的所有pdf文件
- 12. .BAT文件,啓動ASP.NET開發服務器,然後在瀏覽器中打開
- 13. BAT文件:打開新的命令窗口,並在那裏
- 14. 如何在打開.bat文件腳本後保持cmd運行
- 15. 使用打開一個文件夾中的.bat
- 16. 在.bat文件
- 17. 在bat文件
- 18. 從PHP打開XML文件
- 19. 用PHP打開.dbi文件
- 20. php Curl打開mp3文件
- 21. .bat文件打開特定文件夾並從USB驅動器複製文件
- 22. PHP:未能打開流:文件存在
- 23. 打開php中的多個文件
- 24. 試圖用bat文件打開程序,但始終無效
- 25. 運行.bat文件不斷打開CMD的新實例?
- 26. 如何使bat文件自己打開一定次數
- 27. 運行bat文件時使命令行保持打開狀態
- 28. 打開一個DBX和BAT的Outlook文件
- 29. TestNG腳本無法從.bat文件運行時打開Excel
- 30. 如何使用bat文件打開cmd並執行命令?
什麼打算在.bat文件中,你不能在PHP做呢? – 2010-06-23 23:16:13