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


Partial Image display from Sybase Image data type over ODBC

我昨天一整天都在纠结这件事,但还是没弄清楚。

我有一个现有的数据库,我试图检索图像(我知道图像存储是笨重的,但它是我坚持)。我能够查询适当的数据库字段并获得数据,但当我显示它时,似乎只有部分数据被显示。

我使用下面的代码来显示图像:

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有问题?

感谢任何帮助。由于

我评论了我们问题的解决方案与有限的文本编辑有关,php.ini解决了它。查找下一行。Odbc.defaultlrl = 4096例如,只放大值Odbc.defaultlrl = 40960000现在有了这整个画面,就剩下你了。我希望能得到你的帮助和帮助,我们把答案放在论坛上,保姆问,当别人遇到这个问题会解决