mysql データベースに画像を bolb として保存し、php を使用して fpdf で表示したいと考えています。私はfpdfに非常に慣れていないので、これを行うのに問題があります。本当に助けが必要です。ありがとうございました。
質問する
11403 次
3 に答える
3
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);
于 2010-09-18T14:43:16.100 に答える
0
//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]);
}
于 2015-10-21T18:04:13.813 に答える
0
これはコードである$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が表示する画像を取得するファイルである場所を使用できます
于 2016-08-25T09:41:42.983 に答える