XML在PHP中嵌入base64编码图像

时间:2012-02-12 21:40:46

标签: php mysql xml base64

我正在尝试使用php和mySQL将BASE64编码图像嵌入到XML文件中。 图像存储在mySQL中作为BLOB字段。 以下是我正在开发的php脚本的一部分。 图像blob字段名为“filebin”。 我继续得到编码错误(即使我将字段设置为CDATA)!

请帮忙!

$xml_output = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"; 
$xml_output .= "<products>\n"; 

foreach($result as $row){ 
    $xml_output .= "\t<item>\n";
    $xml_output .= "\t\t<id>". $row['id'] . "</id>\n";
    $xml_output .= "\t\t<filebin>".$row['filebin']."</filebin>\n";
}

1 个答案:

答案 0 :(得分:2)

使用DOM的示例

$doc = new DOMDocument('1.0', 'UTF-8');
$products = $doc->createElement('products');
$doc->appendChild($products);
foreach ($result as $row) {
    $item = $doc->createElement('item');
    $product->appendChild($item);

    $id = $doc->createElement('id', $row['id']);

    // assuming the BLOB data is binary and not already base64 encoded
    $filebin = $doc->createElement('filebin', base64_encode($row['filebin']));

    $item->appendChild($id);
    $item->appendChild($filebin);
}

$xml_output = $doc->saveXML();