如何使用PHP从MSSQL读取图像字段 [英] How to read image field from MSSQL with PHP

查看:105
本文介绍了如何使用PHP从MSSQL读取图像字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一个网站,需要同步从脱机MSSQL服务器读取的在线MySQL数据库。所有通信和读取MSSQL的所有字段都正常工作,除了图像字段。我已经使用PHP和Mysql一段时间了,并且知道如何在MySQL数据库中插入/检索图像(使用BLOBS)。我首先尝试使用MSSQL相同的概念,但我无法让它工作。有没有人有任何使用PHP从MSSQL插入/检索图像的经验?它已经破坏了我的球几天了..以下是我尝试过但没有用的代码组合..

I am creating a web site that needs to synchronise an online MySQL database reading from the offline MSSQL server. All communication and reading all fields from MSSQL is working OK except that image field. I have been working with PHP and Mysql for some time and know how to insert/retrieve images to/from a MySQL database(using BLOBS). I have tried the same concept first with MSSQL and I just can't get it to work. Does anyone have any experience working with inserting/retrieving images from MSSQL using php? It has been busting my balls for a few days already.. Here are the code combinations that I have tried and didn't work..

<
?php

$conn = mssql_connect("COMP1");
mssql_select_db("datalab",$conn);


// storing a file
$datastring = file_get_contents("banner.jpg");
$data = unpack("H*hex", $datastring);
mssql_query("insert into milos (id,naziv, slika)
values ('2','img2.jpg', 0x".$data['hex'].")");

// retrieving


$result = mssql_query("select slika from milos where naziv = 'img2.jpg'");
$row = mssql_fetch_array($result);
header("Content-type: image/jpeg;");

$data = $row['slika'];



echo $data;


//echo $slika;


?>







<
?php


$conn = mssql_connect("COMP1");
mssql_select_db("datalab",$conn);


$result = mssql_query("select slika from milos where naziv = 'img.jpg'");
$row = mssql_fetch_array($result);
header("Content-type: image/jpeg;");

$data = $row['slika'];

$datas = substr($data,78);


echo $datas;




?>







<
?php

$conn = mssql_connect("COMP1");
mssql_select_db("datalab",$conn);



$result = mssql_query("select slika from milos where naziv = 'img.jpg'");
$row = mssql_fetch_array($result);
header("Content-type: image/bmp;");

$data = $row['slika'];
$data_pos = strpos($data,"JFIF");
$datas = substr($data,$data_pos - 6);

echo $datas;



?>

任何人都可以帮助我吗?

Can any one help me?

在此先感谢..
Nimmy ....

Thanks in advance.. Nimmy....

推荐答案

搜索 php.ini 并找到行

;mssql.textlimit = 4096

;mssql.textsize = 4096

将值替换为 2147483647 ,如下所示:

Replace the value to 2147483647 like this:

mssql.textlimit = 2147483647
mssql.textsize = 2147483647

此外,您可以在建立连接后立即执行以下操作。

Also you can do the following just after making a connection.

mssql_query("SET TEXTSIZE 2147483647");

这篇关于如何使用PHP从MSSQL读取图像字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆