Recommend this page to a friend! |
Download .zip |
Info | Example | View files (9) | Download .zip | Reputation | Support forum | Blog | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2023-12-03 (1 month ago) | Not enough user ratings | Total: 201 | All time: 8,455 This week: 131 |
Version | License | PHP version | Categories | |||
hex-dump 1.0.2 | GNU Lesser Genera... | 5.3 | PHP 5, Debug, Files and Folders, Text... |
Description | Author | ||||||||||||||
This class can output data from file in hexadecimal format. Innovation Award
|
|
<?php |
This package aims to provide some nice debug tools. Well, just one tool for now.
For now, only the HexBlock is added. What it does is provide an easy way to dump binary data directly from a currently open file stream. Example output of a gif file, where the file pointer is on position 3, the method have been told to dump the following 68 bytes.
Note that the file pointer will be reset to its initial position after the dump, essentially leaving the handle unaffected.
Start: 0x03; Length: 68 (0x44)
00: -- -- -- 38 39 61 59 00 68 00 c4 15 00 ad df ff | ---89aY. h.......
10: e5 f4 ff cb ea ff ff ff ff 98 d6 fe b7 b9 bb 81 | ........ ........
20: d2 ff 77 cc ff 8f c5 fe 54 9a f5 11 28 7d 65 ab | ..w..... T...(}e.
30: fe 52 75 a1 7a b7 fb 66 cc ff 5b cc fe 00 66 ff | .Ru.z..f ..[...f.
40: 0f 71 ff ff 39 00 b3 -- -- -- -- -- -- -- -- -- | .q..9..- --------
Call
$block = HexBlock::createBlock($handle, $length, $encodeHtml [Default = true]);
$encodeHtml merely ensures that any html entities are encoded as such, but doesn't add any line break tags.
The function also accepts a string as an argument (from 1.0.1), and will dump that string from the first byte.
$block = HexBlock::createBlock($dataString, $length, $encodeHtml [Default = true]);
To assist in debugging, having a test string behave as a file handle can be useful. str2resource was added in DebugTools 1.0.1.
$fh = DebugHelpers::str2resource($stringData);
// work
fclose($fh); // Remember to close the handle to free up memory.
Parsing -1 as the $bytes
parameter will cause the function to dump the entirety of the file.
Add this requirement to your composer.json
file:
"grandt/phpdebugtools": ">=1.0.1"
If you already have Composer installed, skip this part.
Packagist, the main composer repository has a neat and very short guide.
Or you can look at the guide at the Composer site.
The easiest for first time users, is to have the composer installed in the same directory as your composer.json file, though there are better options.
Run this from the command line:
php -r "readfile('https://getcomposer.org/installer');" | php
This will check your PHP installation, and download the composer.phar
, which is the composer binary. This file is not needed on the server though.
Once composer is installed you can create the composer.json
file to import this package.
{
"require": {
"grandt/phpdebugtools": ">=1.0.1"
}
}
Followed by telling Composer to install the dependencies.
php composer.phar install
this will download and place all dependencies defined in your composer.json
file in the vendor
directory.
Finally, you include the autoload.php
file in the new vendor
directory.
<?php
require 'vendor/autoload.php';
.
.
.
include "../vendor/autoload.php";
use grandt\DebugTools;
$srcFile = "[path to file]";
$fh = fopen($srcFile, "rb");
echo HexBlock::createBlock($fh, 68, true);
fclose($fh);
Files |
File | Role | Description | ||
---|---|---|---|---|
src (1 directory) | ||||
tests (1 file, 1 directory) | ||||
composer.json | Data | Initial release | ||
GNU Lesser General...are Foundation.html | Doc. | Documentation | ||
README.html | Doc. | Documentation | ||
README.md | Doc. | Documentation | ||
REVISION.TXT | Data | Revision history |
Files | / | src | / | DebugTools |
File | Role | Description |
---|---|---|
DebugHelpers.php | Class | Added dump of a string * Added: DebugHelpers class with a str2resource function * Changed: HexBlock now also takes a string as input. |
HexBlock.php | Class | Initial release |
hex-dump-2023-12-03.zip 21KB | |
hex-dump-2023-12-03.tar.gz 18KB | |
Install with Composer |
Needed packages | ||
Class | Download | Why it is needed | Dependency |
---|---|---|---|
Bin String | .zip .tar.gz | To circumvent the problems caused by mbstring.func_overload | Required |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.