Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: X технологии > сохранить html


Автор: BeerHunter 28.5.2010, 17:04
Здравствуйте
Есть xml и xsl. Открываем xml через браузер, загружается страничка. Подскажите, пожалуйста, как сделать, чтобы пользователь мог сохранить
эту страничку с расширением html? 

Автор: ksnk 28.5.2010, 17:13
Хм... 
Может нужно подвесить на видном месте у юзера напоминалку - "Чтобы сохранить страницу как html, в пункте меню File выбирайте пункт SaveAs"?
или нужно более коварный способ сохранения?

Автор: bars80080 28.5.2010, 17:25
ну, можно ещё отдавать перед файлом заголовок о неизвестном приложении, тогда браузер гарантированно будет поднимать окошко о сохранении файлом

Код

header('Content-Type: application/x-unknown; charset=cp1251');
header('Content-Disposition: attachment; filename="'.$file.'"');


Автор: BeerHunter 28.5.2010, 17:38
Проблема в том что, когда выбираешь в браузере "сохранить как", то в выпадающем списке "тип файла", нет расширения "html". А надо чтобы был....:(

Автор: bars80080 28.5.2010, 17:51
попробуй задать так:

Код

header('Content-Type: text/html; charset=cp1251');


Автор: BeerHunter 28.5.2010, 18:02
Я что-то не совсем понимаю, куда это вставить нужно(только начал разбираться с этим(()
вот xml
Код

<?xml version="1.0" encoding="WINDOWS-1251"?>  
<?xml-stylesheet type='text/xsl' href='report.xsl'?>  
<DATA Version="2.0" name="">  
    <SubSets subset1="smoking" subset2="non-smoking"/> 
    <ROWDATA>  <ROW   Gen="1qeqweqeq"  subset1="156" subset2="157" znak="+"/>  </ROWDATA>  
</DATA> 


а тут xsl 
Код

<?xml version="1.0" encoding="WINDOWS-1251"?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">  
<body style="font-family:Verdana;font-size:12pt">        
  <table cellspacing="0px" cellpadding="0px" border="1" style="background-color:#000;border:0px solid;font-family:Verdana;font-size:8pt;">    
  
   <tr style="background-color:#D3D3D3;color:#000;" height="25px">        
    <td  width="100" style="text-align:center">
       <strong>Ген</strong>
     </td>        
     <td  width="100" style="text-align:center">
      <strong><xsl:value-of select="DATA/SubSets/@subset1"/></strong>
     </td>        
     <td  width="100" style="text-align:center">
      <strong><xsl:value-of select="DATA/SubSets/@subset2"/></strong>
     </td>        
     <td width="100" style="text-align:center">
      <strong>Знак</strong>
     </td>        
    </tr>    
    
    <xsl:for-each select="DATA/ROWDATA/ROW">        
     <tr bgcolor="#F5F5F5" height="21px">        
      <a href= "http://google/ru/{@Gen}"><td  width="100" style="text-align:center"> <xsl:value-of  select="@Gen"/></td></a>        
      <td width="100" style="text-align:center"><xsl:value-of select="@subset1"/></td>        
      <td width="100" style="text-align:center"><xsl:value-of  select="@subset2"/></td>        
      <td width="100" style="text-align:center"><xsl:value-of  select="@znak"/></td>        
     </tr>    
    </xsl:for-each>    
  </table> 
 </body>
</html>

Подскажите куда именно нужно вставить

Автор: bars80080 28.5.2010, 18:52
header - это заголовок. вставляется в пхп скрипт, если этот скрипт генерирует файл.
или можно поставить содержимое header в .htaccess, чтобы он автоматически отдавал этот заголовок для всех файлов (но это уже надо спрашивать в другом разделе)

у нас же вопрос по пхп?

тогда:

Код

header('Content-Type: text/html; charset=cp1251');
echo '<?xml version="1.0" encoding="WINDOWS-1251"?>  
<?xml-stylesheet type='text/xsl' href='report.xsl'?>  
<DATA Version="2.0" name="">  
    <SubSets subset1="smoking" subset2="non-smoking"/> 
    <ROWDATA>  <ROW   Gen="1qeqweqeq"  subset1="156" subset2="157" znak="+"/>  </ROWDATA>  
</DATA> ';



только конечно очень странное желание. зачем сохранять xml-файл, как хтмл? почему сразу не генерировать хтмл?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)