Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   XML + XSL + PHP => HTML, Как передать бинарный код рисунка ? (http://forum.oszone.net/showthread.php?t=80149)

Lexxx_HU 28-02-2007 06:22 556225

XML + XSL + PHP => HTML, Как передать бинарный код рисунка ?
 
здраствуйте все ...
похожие темы были .. но данного вопроса нет ...
обрисую ситуацию..

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

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

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); 
?>

получается вот такая страница
(на кодировку внимания не обращайте)

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

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

PHP код:

<?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 556351

Lexxx_HU
вы не можете в одном ответе сервера педелать и HTML и картинку (грубо говоря)
вам нужно в отдаваемом HTML сделать в адресе картинки ссылку на другой PHP скрипт который и отдас саму картинку.

Lexxx_HU 28-02-2007 16:41 556474

Цитата:

сделать в адресе картинки ссылку
а как мы узнаем то место где находится картинка ...
если б она например была всегда в одном месте таблицы, то еще можно было попытаться...
рисунок может быть в любом месте .. тем более еще и не один..

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

E-mail 28-02-2007 21:47 556574

Lexxx_HUпусть ссылка на картинку идет на этот же скрипт, сама на себя, но с параметром гет, который проверяется в этом же скрипте.

Lexxx_HU 01-03-2007 05:40 556657

имеется код

Код:

<?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 557337

Lexxx_HU пишите в файл с именем картинки вашу imagepng($im);

fopen()


Время: 02:58.

Время: 02:58.
© OSzone.net 2001-