Buscando informacion encontre que a partir de PHP4.3 implementaron
file_get_contents -- Reads entire file into a string
Description
string file_get_contents ( string filename [, int use_include_path [, resource context]])
Identical to file(), except that file_get_contents() returns the file in a string.
file_get_contents() is the preferred way to read the contents of a file into a string. It will use memory mapping techniques if supported by your OS to enhance performance.
Nota: Esta función es segura binariamente.
Por un lado hice este ejemplo on la funcion
Código PHP:
<?
$datastring = file_get_contents("firma.png");
$data = unpack("H*hex", $datastring);
// Ver funcion
$conex = odbc_connect("MISERVER", "sa", "sa");
$consulta = ("INSERT dbo.tmp_image(IMAGEN, NOMBRE, LONG) values (0x".$data['hex'].",'img.jpg', '233')");
$resultado = odbc_exec($conex, $consulta);
odbc_free_result($resultado);
odbc_close($conex);
?>
(PHP 3, PHP 4 )
unpack -- desempaqueta datos de una cadena binaria
Descripción
array unpack ( string format, string data)
Desempaqueta datos de una cadena binaria en un array, de acuerdo al formato format. Devuelve un array que contiene los elementos de la cadena binaria desempaquetados.
Unpack funciona de manera ligeramente diferente a Perl, ya que los datos desempaquetados se almacenan en un array asociativo. Para conseguir ésto debe nombrar los diferentes códigos de formato y separarlos por una barra inclinada /. Ejemplo 1. cadena de formato unpack
$array = unpack("c2chars/nint", $binarydata);
Por otro lado con la version de PHP 4.2 usaba este otro ejemplo y me daba el mismo resultado.
Código PHP:
<?
$filename = firma.png;
$fd = fopen("$filename ", "rb");
$content = fread($fd, filesize($filename));
fclose($fd);
$conex = odbc_connect("MISERVER", "sa", "sa");
$consulta = ("INSERT dbo.tmp_image(NOMBRE, LONG, IMAGEN) values ('img.jpg','AAAA', $content )");
$resultado = odbc_exec($conex, $consulta);
odbc_free_result($resultado);
odbc_close($conex);
?>
Alguien me puede dar una mano o decirme en que me estoy equivocando.
desde ya muchas gracias y saludos a todos