将图像保存在mysql数据库中作为bolb,我希望使用php在fpdf中显示它。我遇到问题了,因为我对fpdf很陌生。我真的需要帮助。谢谢。需要将图像从mysql数据库显示到fpdf
回答
您将需要此扩展FPDF:http://www.fpdf.org/en/script/script45.php
[更新]
$query = "SELECT imageField FROM yyy WHERE ...";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
$image = $row['imageField'];
$pdf->MemImage($image, 50, 30);
谢谢你的回复,我试过了,但我相信只有当图像保存到主机时才有效。但我目前的图像保存在mysql(blob)中。 – 2010-09-19 10:28:26
这正是这个脚本的用途。你需要将你的blob加载到一个变量中,然后使用'MemImage($ blob,...)'方法 – Mchl 2010-09-19 11:06:11
对不起,但我还是不太了解,并且希望得到你的指导方针...的扩展。我有copr的例子... – 2010-09-19 12:43:02
//Alternatively
//1) Put the class VariableStream inside your php file instead of declaring it
//--------------------------
enter code here
class VariableStream
{
var $varname;
var $position;
function stream_open($path, $mode, $options, &$opened_path)
{
$url = parse_url($path);
$this->varname = $url['host'];
if(!isset($GLOBALS[$this->varname]))
{
trigger_error('Global variable '.$this->varname.' does not exist', E_USER_WARNING);
return false;
}
$this->position = 0;
return true;
}
function stream_read($count)
{
$ret = substr($GLOBALS[$this->varname], $this->position, $count);
$this->position += strlen($ret);
return $ret;
}
function stream_eof()
{
return $this->position >= strlen($GLOBALS[$this->varname]);
}
function stream_tell()
{
return $this->position;
}
function stream_seek($offset, $whence)
{
if($whence==SEEK_SET)
{
$this->position = $offset;
return true;
}
return false;
}
function stream_stat()
{
return array();
}
}
//----------------------------------------------------
//2) open and read your mysql longblob that contains your binary data from your image
//in my case the function declaration is this
function showImage($cdImg) {
Global $pdf;
//declare your pdf class
//Connects the way you do. this case assigned as $odbc_conn
$query = 'SELECT cd_img, ds_img, bin_img FROM tb_img WHERE cd_img = '.$cdImg;
$result= mysqli_query($odbc_conn, $query);
$row = mysqli_fetch_array($result);
if (!empty($row["bin_img"]))
{
//IF your data is encoded
//$data=base64_decode($row['bin_img']);
//
$data=$row['bin_img'];
}
mysqli_free_result($result);
mysqli_close($odbc_conn);
stream_wrapper_register('var', 'VariableStream');
$x=null;
$y=null;
$w=0;
$h=0;
$link='';
//Display the image contained in $data
$v = 'img'.md5($data);
$GLOBALS[$v] = $data;
$a = getimagesize('var://'.$v);
if(!$a)
$pdf->Error('Invalid image data');
$type = substr(strstr($a['mime'],'/'),1);
$pdf->Cell(1);
$pdf->Cell(26, 1, '', '', 0,'L');
$pdf->Cell(150, 1, '', '', 1,'L');
//650=150 choose your options for height and width
//845=156
//$xc=ceil((676-$a['width'])/2);
$pdf->Image('var://'.$v, 44, $y, 150, 0, $type, $link);
unset($GLOBALS[$v]);
}
这是代码$pdf->Image('http://www.elwebmaster.com/wp-content/uploads/2015/06/PHP-logo.png',30,278,8);
或者如果你的根目录$pdf->Image($_SESSION['raiz'].'imagens/tsunami.jpg',150,285,12);
你可以有斑点保存图像在你的SQL数据库中,然后使用$pdf->Image($_SESSION['raiz'].'imagens/picture.php?id=1',150,285,12);
其中id是数据库索引,picture.php是文件rets rieve你想要显示的图像
- 1. 将图像从mysql数据库显示到fpdf
- 2. 需要帮助将图像从mysql显示到网页
- 3. 将图像从数据库显示到图像控件
- 4. 需要帮助,以显示从MySQL数据库中的数据
- 5. 从mysql数据库显示图像(BLOB)到tkinter窗口
- 6. 如何显示来自mysql数据库的图像而不重叠,FPDF?
- 7. 需要帮助显示mysql数据库内容到网页
- 8. 显示从数据库检索图像到图像控制
- 9. 显示从mysql数据库
- 10. 从数据库中显示图像
- 11. 从数据库中显示图像
- 12. 从数据库显示图像ASP.Net
- 13. 显示图像从数据库中ASP.NET
- 14. 从android数据库中显示图像
- 15. 显示图像从数据库
- 16. 从数据库中显示图像
- 17. 从数据库显示图像?
- 18. 从数据库中显示图像
- 19. 从数据库中显示图像php
- 20. 从数据库中显示图像
- 21. PHP从数据库中显示图像
- 22. 如何将图片从数据库显示到图片库?
- 23. 显示图像从PHP文件(存储在MySQL数据库)
- 24. 无法显示图像从MySQL数据库使用php
- 25. 数据库行需要栏,显示
- 26. 如何从数据库显示图像到剃刀视图?
- 27. 从数据库显示和解析图像到列表视图
- 28. 从数据显示图像
- 29. 从vb.net的数据库中的数据库中显示图像
- 30. PHP需要显示MPTT而不修改MySql数据库
看到更新的答案 – Mchl 2010-09-19 16:15:43