Войти

Показать полную графическую версию : XML + XSL + PHP => HTML, Как передать бинарный код рисунка ?


Lexxx_HU
28-02-2007, 06:22
здраствуйте все ...
похожие темы были .. но данного вопроса нет ...
обрисую ситуацию..

имеется файл *.xml (сохраненный в Word-е с рисунком)
имеется шаблон *.xsl

к этому всему применяется скрипт php

<?php
header("Content-type: text/html; charset=UTF-8");
// Allocate a new XSLT processor
$xh = xslt_create();

// Process the document, returning the result into the $result variable
$result = xslt_process($xh, 'test2.xml', 'wordML-html.xsl');
if ($result) {
echo $result;
}else {
echo "Sorry, Error";
}
xslt_free($xh);
?>

получается вот такая страница (http://lexxx-hu.narod.ru/xml2html.html)
(на кодировку внимания не обращайте)

как видно на ней рисунок представлен в бинарном виде ...

имеется скрипт для преобразования бинароного кода в рисунок

<?php
$data = '..... тут бинарный код ....';
$data = base64_decode($data);

$im = imagecreatefromstring($data);
if ($im !== false) {
header('Content-Type: image/png');
imagepng($im);
}
else {
echo 'An error occurred.';
}
?>

по отдельности все работает ...
если вставить скопировать бинарный код ... и вставить в нижний скрипт.. то рисунок выводится..
как видно .. в первом скрипте все передаются в одной переменной - $result
так вот вопрос .. как из этой перменной "достать" этот код .. и передать в переменную $data
то есть по сути дела ..как эти 2 файла соединить в один ?
спасибо всем кто откликнется

Vlad Drakula
28-02-2007, 11:58
Lexxx_HU
вы не можете в одном ответе сервера педелать и HTML и картинку (грубо говоря)
вам нужно в отдаваемом HTML сделать в адресе картинки ссылку на другой PHP скрипт который и отдас саму картинку.

Lexxx_HU
28-02-2007, 16:41
сделать в адресе картинки ссылку
а как мы узнаем то место где находится картинка ...
если б она например была всегда в одном месте таблицы, то еще можно было попытаться...
рисунок может быть в любом месте .. тем более еще и не один..

а можно как нибудь нижний скрипт вставить в шаблон *.xsl ?

E-mail
28-02-2007, 21:47
Lexxx_HUпусть ссылка на картинку идет на этот же скрипт, сама на себя, но с параметром гет, который проверяется в этом же скрипте.

Lexxx_HU
01-03-2007, 05:40
имеется код

<?php
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
. 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
. 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
. '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);

$im = imagecreatefromstring($data);
if ($im !== false) {
header('Content-Type: image/png');
imagepng($im);
}
else {
echo 'An error occurred.';
}
?>

как скриптом сохранить данный рисунок без участия человека (НЕ save as...) ?
чтобы он записал его в той же папке где лежит скрипт по менем "xxx.png" ?

E-mail
02-03-2007, 17:55
Lexxx_HU пишите в файл с именем картинки вашу imagepng($im);

fopen()




© OSzone.net 2001-2012