The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"XSLT"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"XSLT"  
Сообщение от GHopper email on 01-Мрт-07, 04:55 
Здравствуйте!
Прочитал о модной технологии XSLT, решил попрбовать. Иду на веб-сервер (FreeBSD6.1+apache2+php5) добавляю в php.ini строчку

  ;extension=php_xls.dll заменил на
  extension=php_xls.so

Потом нужно править

  extension_dir = "./"

а я не знаю куда у меня расширения встали!? Устанавливал из портов без prefix`а. Апатч стоит в /usr/local/sbin/, сам php d в /usr/local/libexec. Где у него расширения???

Ну да ладно. Поперся на win-сервер. Там проделал все, что нужно. Логи апатча пустые, phpinfo() не выдало ни строчки про xlst! Скрипты после строчки

  $xsl = new XSLTProcessor();

прекращают работу!

В общем выручайте. Какие расширения нужно подключать, чтобы потом мои скрипты работали на любом хостинге. Где искать информацию по работе с расширениями (на тоже php_xls.dll описание не найти).

И еще! Есть некторый php-скрипт, который занимается обработкой файлов. Чтобы много тут не объяснять, вот он:

<?php
function fix_cdr($fname) {
  $if = fopen ("cdr/$fname","r");
  $of = fopen ("cdr/done/$fname","w");
  while (!feof ($if)) {
      $buffer = fgets($if, 4096);
      $buffer = preg_replace ("/,,,,,,(\d+),(\d+),(\d+),,,,,,,,,,,,,,,,,,(\d+),,,,(YBILSH_I,)(\w+),,,,,,/",
      ",,,,,73843570100,\\1,\\2,\\3,,,,,,,,,,,,,,,,,,\\4,,,,\\5\\6,,,,,,",
      $buffer);
      $buffer = preg_replace ("/,,,,,,(\d+),(\d+),(\d+),,,,,,,,,,,,,,,,,,(\d+),,,,(BOLSH_I,)(\w+),,,,,,/",
      ",,,,,73843573100,\\1,\\2,\\3,,,,,,,,,,,,,,,,,,\\4,,,,\\5\\6,,,,,,",
      $buffer);
      $buffer = preg_replace ("/,,,,,,(\d+),(\d+),(\d+),,,,,,,,,,,,,,,,,,(\d+),,,,(MASHZ_I,)(\w+),,,,,,/",
      ",,,,,73843708000,\\1,\\2,\\3,,,,,,,,,,,,,,,,,,\\4,,,,\\5\\6,,,,,,",
      $buffer);
      fputs($of, $buffer);
  }
  fclose($if);
  fclose($of);

/*
  $fp = file_get_contents("./cdr/$fname");
  $fp = preg_replace ("/(,{6})(\d{1,}),(\d{1,}),(\d{1,})(,{18})(\d{1,})(,{4})(YBILSH_I,)(\w+)(,{6})/",
    ",,,,,73843570100,\\2,\\3,\\4,\\5\\6\\7\\8\\9\\10\\11",
    $fp);
  $fp = preg_replace ("/(,{6})(\d{1,}),(\d{1,}),(\d{1,})(,{18})(\d{1,})(,{4})(BOLSH_I,)(\w+)(,{6})/",
    ",,,,,73843573100,\\2,\\3,\\4,\\5\\6\\7\\8\\9\\10\\11",
    $fp);
  $f = fopen ("./cdr/$fname","w");
  fputs($f, $fp);
  fclose ($f);
*/
}
if (!file_exists("lock"))
{
  $lk = fopen ("lock","w+");
  fclose($lk);
  echo "<b>Обработка CDR-файлов:</b><br><br>";
  $handle=opendir('./cdr');
  $fnum = 1;
  ob_end_clean();
  while ($file = readdir($handle)) {
    if ($file != "." && $file != ".." && $file != "done")
    {
      echo "\t$fnum.\t$file<br>";
      $fnum++;
      fix_cdr($file);
    }
  }
  echo "<br><b>Обработка CDR-файлв успешно завершена!</b>";
  closedir($handle);
  unlink("lock");
}
else
  echo ("Скрипт уже запущен!");
?>

Так вот, при работе хотелось-бы чтобы он выводил имя обрабатываемого файла. Да и вообще, чтобы хоть что-нибудь выводил. Сейчас получается так - запускаешь скрипт, ждешь пока он выполнится (около 10 мин), и только потом в браузере появляется вывод. Если этот-же скрипт запустить не через браузер (сделать выполняемым и добавить в начало !#/usr/local/php), то вывод в консоль будет идти в процессе работы!
То, что это можно сделать с помощью JavaScript и AJAX понимаю, хочется узнать можно-ли этого добиться средствамми PHP.

Спасибо.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

  • XSLT, GHopper, 06:17 , 01-Мрт-07, (1)  
    • XSLT, homoz, 11:33 , 02-Мрт-07, (2)  
      • XSLT, GHopper, 12:05 , 02-Мрт-07, (3)  
        • XSLT, homoz, 12:19 , 02-Мрт-07, (4)  
          • XSLT, homoz, 13:06 , 02-Мрт-07, (5)  
            • XSLT, GHopper, 14:47 , 02-Мрт-07, (6)  

Сообщения по теме [Сортировка по времени, UBB]


1. "XSLT"  
Сообщение от GHopper email on 01-Мрт-07, 06:17 
под windows все заработало! Во всяком случае код
<?php
// Load the XML source
$xml = new DOMDocument;
$xml->load('ex01.xml');

$xsl = new DOMDocument;
$xsl->load('ex01.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

echo $proc->transformToXML($xml);
?>
выполняется.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "XSLT"  
Сообщение от homoz (??) on 02-Мрт-07, 11:33 
чувак, покажи свой ex01.xsl
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "XSLT"  
Сообщение от GHopper email on 02-Мрт-07, 12:05 
>чувак, покажи свой ex01.xsl


да у меня пробничек...
#ex01.xls
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<p><xsl:value-of select="//title"/></p><br>
<p><xsl:value-of select="//author"/></p>
</xsl:template>
</xsl:stylesheet>

#ex01.xml
<?xml version="1.0" encoding="WINDOWS-1251"?>
<tutorial>
  <title>title</title>
  <author>auth</author>
</tutorial>

если хошь, могу выслать на мыл документацию по xslt.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "XSLT"  
Сообщение от homoz (??) on 02-Мрт-07, 12:19 
>encoding="WINDOWS-1251"

Вот попробуй это заменить на encoding="utf-8"

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "XSLT"  
Сообщение от homoz (??) on 02-Мрт-07, 13:06 
Ну что, полегчало? :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "XSLT"  
Сообщение от GHopper email on 02-Мрт-07, 14:47 
>Ну что, полегчало? :)


да я и не напрягался. вопрос был в том, что я не могу модуль php_xsl.so найти под FreeBSD. Где его брать, если при компиляции php из портов он не устанавливается?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру