php - работаем с bmp файлом - открываем - читаем и записываем данные

Общие замечания о работе с такими файлами смотрите здесь.

Записывать будем тоже самое, что и прочитаем, но уже в другой файл:

<?php
include 'lib.php';

// ниже код для записи в файл картинки "того же самого"

$file_handle = fopen("rf55.bmp", "r"); // получаем дескриптор файла (для чтения и записи)

echo "<br>-----------<br>";

$barr = array();// массив байтов файла
while ($data = fread($file_handle, 1)) // читаем по одному байту
{
	$barr[] = bin2hex($data);// получим данные в шестинатеричном виде   
}

$i = 1;
foreach ($barr as $el) // выведем все байты
{
  echo("$i) ". $el.'<br>');
  $i++;
}

// склеиваем массив  - получаем сторку шестнадцатериных символов
$data = arr_to_str($barr); // (прользовательская функция)
echo $data;
echo "<br>-----------<br>";
//$data = str_replace('1f','ff',$data);
echo $data;
$data = hex2bin($data); // упаковываем в бинарный формат

fclose($file_handle); // закрываем прочитанный файл
$file_handle = fopen("rf2000.bmp", "w"); // открываем новый файл 
 fwrite($file_handle, $data);// пишем данные в файл
 
 fclose($file_handle); // закрываем записанный файл

ПРИМЕЧАНИЕ: реализацию пользовательских функций (lib.php) для данного примера можно найти здесь = http://fkn.ktu10.com/?q=node/4315