2011-08-04 24 views
1

昨天我一直在为这一天苦苦挣扎,但无法到达底部。通过ODBC的Sybase图像数据类型显示部分图像

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

我使用此代码来显示图像:

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

任何帮助表示赞赏。 谢谢

回答

3

我评论了解决方案,我们的问题与有限的文本编辑php.ini解决它。找到下一行。 odbc.defaultlrl = 4096 只能放大数值,例如 odbc.defaultlrl = 40960000 现在整张照片都会留下。我希望将你的帮助和cuerdate我们把答案放在保姆要求,当别人遇到这个问题的论坛将解决

+0

非常感谢......它救了我:) –