通过ODBC从Sybase Image数据类型显示部分映像

时间:2011-08-04 22:56:43

标签: php image odbc mime

我昨天整天都在苦苦挣扎,但无法深究它。

我有一个现有的数据库,我正在尝试从中检索图像(我知道图像存储很笨,但这是我坚持的)。我能够查询相应的数据库字段并获取数据,但是当我显示它时,似乎只显示了部分数据。

我正在使用此代码显示图片:

require_once('../odbc_config.php');
if((isset($_GET['ur'])) AND ($_GET['ur'] != "")) {
    $aria_query1_ur = $_GET['ur'];
    $aria_query1 = "SELECT * FROM Patient WHERE PatientId='$aria_query1_ur' ";
    $patient_result = odbc_exec($aria,$aria_query1) or die("Error getting Patient Data");
    $patient_data = odbc_fetch_array($patient_result);
    }
$ID=$patient_data['PatientSer'];
$query = odbc_exec($aria, "SELECT * FROM Photo WHERE PatientSer=".$ID);
$row = odbc_fetch_array($query);
$content = $row['Picture'];
header('Content-type: image/jpeg');
echo $content;

我这样称这个代码:

echo '<img src="contents/image2.php?ur='.$_GET['ur'].'">';

不幸的是,我似乎只能部分显示图像。正确读取图像的尺寸,我可以从顶部看到前50 x 480左右的像素,但之后我看到的是640 x 480像素的灰色背景。

像这样: http://i1218.photobucket.com/albums/dd411/Barbs_ldsr/stuff/th_partial_image.jpg

Sybase ODBC驱动程序是否只允许通过一定数量的数据?我该如何检查或修复此问题?或者PHP存在问题吗?

任何帮助表示赞赏。 感谢

1 个答案:

答案 0 :(得分:3)

我评论说我们的问题的解决方案与php.ini解决它的有限文本编辑有关。找到下一行。  odbc.defaultlrl = 4096  例如,只放大该值  odbc.defaultlrl = 40960000  现在,整个画面离开了你。我希望能得到你们的帮助,并且我们会把答案放在保姆所要求的论坛上,当其他人遇到这个问题时会解决这个问题