На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: PIL
  
> flash из php
    Вчера столкнулся с этой темой, показалась очень интересной :)
    Проблема состояла в том что было неоткуда взять скомпилированную dll, благо нашел, но уже не помню где :(
    Откоментировал расширение и появилось
    Цитата

    ming
    Ming SWF output library enabled
    Version 0.3beta1

    в phpinfo()
    все казалось бы чудестно, но начал выполнять сценарии и меня постигла неудача :(, в самом финале когда я выполняю
    Цитата

    header("Content-type: application/x-shockwave-flash");
    $m->output();


    то ничего не происходит, а точнее происходит но не то что должно :) Апач просто начинает потреблять оперативную память и раздуваеться как пузырь, приходиться его кикать...
    а если я применяю
    Цитата
    $movie->save("sketchpad.swf");

    то все в порядке, получаю флешку :)
    Я думаю проблема в библиотеке, поэтому прошу скажите где скачать php_ming.dll, такую чтобы у вас работала :) Думаю и у меня тогда заработает :))
    Еще к слову - у меня стоит Денвер - может это он плохо работает?? Хотя маловероятно я думаю...
      Цитата kaiser Zaido @
      скажите где скачать php_ming.dll, такую чтобы у вас работала ... у меня стоит Денвер
      Потому что дистрибутив PHP лежит на http://php.net а не где-то там на левых сайтах.
        Какая версия PHP?
          2SiMM
          потому что там не dll, а исходники...
          я к сожалению не сталкивался с компиляцией дллок и поэтому не знаю сработает ли у меня

          2Trustmaster
          PHP Version 4.3.6
            Цитата kaiser Zaido @
            потому что там не dll, а исходники...
            Где? Может не стоит маяться фигнёй и скачать наконец свежий скомпиленный бинарник, включающий все модули, с ОФИЦИАЛЬНОГО сайта?
              и там это расширение есть??
                Цитата kaiser Zaido @
                и там это расширение есть??
                ExpandedWrap disabled
                  dir c:\usr\php\extensions\php_ming.dll
                  21.09.2004  14:08           188 416 php_ming.dll
                  а ты не можешь эту библиотеку отдельно выложить в инете? или приаттачить к сюда??
                  или выслать мне на мыло?? ka-zaido@yandex.ru

                  спасибо...
                    Цитата kaiser Zaido @
                    ты не можешь эту библиотеку отдельно выложить в инете?
                    Интересно, с чего ты решил, что тебе подойдёт dll-ка от версии 4.3.9?
                    http://webfile.ru/174652

                    Добавлено
                    Цитата kaiser Zaido @
                    Я думаю проблема в библиотеке, поэтому прошу скажите где скачать php_ming.dll, такую чтобы у вас работала
                    Кстати, лучше бы ты код какой (который у тебя не работал должным образом) для теста привёл, поскольку я этот модуль никогда даже не пробовал.
                      ну я брал примеры, которые работают :)
                      вот с сохранением они работают, а с выводом на экран нет :(

                      ну вот например такой код:
                      Цитата

                      <?
                      //dl("php_ming.dll");
                      // movie properties
                      ming_setScale(20.00000000);
                      ming_useswfversion(6);
                      $movie = new SWFMovie();
                      $movie->setDimension(600,400);
                      $movie->setBackground(0xcc, 0xcc, 0xcc );
                      $movie->setRate(31);

                      $strAction = "
                      // make an object and attach actions
                      sketchpad = {
                      onMouseDown: function () {
                      draw=true;
                      moveTo(_xmouse, _ymouse);
                      },
                      onMouseUp: function () {
                      draw=false;
                      },
                      onMouseMove: function () {
                      if (draw) {
                      lineStyle(9, 255, 100);
                      lineTo(_xmouse, _ymouse);
                      }
                      },
                      onKeyDown: function () {
                      clear();
                      }
                      };
                      // add listeners to object
                      Mouse.addListener(sketchpad);
                      Key.addListener(sketchpad);
                      ";

                      $movie->add(new SWFAction(str_replace("\r", "", $strAction)));
                      $movie->add(new SWFAction( $strAction));
                      //$movie->save("sketchpad.swf");
                      header('Content-type: application/x-shockwave-flash');
                      $movie->output();
                      ?>


                      если откомментировать, а то закоментировать то получиться флешка что можно рисовать на экране :)

                      Добавлено
                      твоя версия
                      Цитата

                      Ming SWF output library enabled
                      Version 0.2a


                      поэтому(наверное поэтому), выдаются ошибки типа
                      Цитата
                      Fatal error: ming_useswfversion(): Only SWF versions 4 and 5 are currently supported! in z:\home\zaido1.net\www\hz.php on line 3


                      а там везде стоит цифра 6... так что примеры не идут :(
                        Цитата kaiser Zaido @
                        Fatal error: ming_useswfversion(): Only SWF versions 4 and 5 are currently supported! in z:\home\zaido1.net\www\hz.php on line 3
                        Manual: ming - там даже полноценная поддержка 4ки не обещается.
                        Цитата kaiser Zaido @
                        а там везде стоит цифра 6...
                        Ну так исправь хотя бы на 5.
                        Цитата kaiser Zaido @
                        если откомментировать, а то закоментировать то получиться флешка что можно рисовать на экране
                        У меня ничего не получилось. После того как удалил $movie->add(new SWFAction( $strAction)); (зачем он там дважды?) и поправил версию с 6 на 5.
                        Цитата kaiser Zaido @
                        вот с сохранением они работают, а с выводом на экран нет
                        Работает одинаково (одинаково не работает). Выходные файлы правда отличаются одним байтом (4й байт в "сохраняемом" файле 0x8C, в "выводимом" - 0x8E, ну и кроме того, "выводимый" длиннее на два байта). И вообще, фраза "не работает" - это не описание проблемы.
                          А вообще - какая необходимость делать SWF на PHP, когда можно обходиться и без этого?
                            неработает это означает что не выводиться флешка на страничку, я кажеться подробно описал в первом посте...
                            а зачем нужно - просто интересно :) есть же такая возможность :))

                            Добавлено
                            вот еще скриптец
                            ExpandedWrap disabled
                              <?
                              Ming_setScale(20.00000000);
                              ming_useswfversion(5);
                              $movie=new SWFMovie();
                              $movie->setDimension(550,400);
                              $movie->setBackground(0xcc,0xcc,0xcc);
                              $movie->setRate(12);
                               
                              for($i=10;$i<300;$i+=10){
                                $s = new SWFShape();
                                $s->setLine(4, 0, 0, 0);
                                $s->setRightFill(255,0,0);
                                $s->movePenTo(10, 10);
                                $s->drawLineTo(310, 10);
                                $s->drawLineTo(310, 230);
                                $s->drawCurveTo(10, $i, 10, 10);
                                $movie->add($s);
                                $movie->nextFrame();
                                }
                               
                              //$movie->save("drawcurveto.swf");
                              header("Content-type: application/x-shockwave-flash");
                              $m->output();
                              ?>


                            когда ставлю на сохранение то рисует какой-то треугольник беременный, а если прошу отдать его через браузер, то получаю только окошко флеша, т.е. поверхность, а треугольник не показывает :(
                              Цитата kaiser Zaido @
                              неработает это означает что не выводиться флешка на страничку
                              Это ничего не значит и так же неинформативно.
                              Цитата kaiser Zaido @
                              вот еще скриптец
                              Вообще твои примеры меня поражают - то ли ты не умеешь делать Cut&Paste, то ли специально даёшь нерабочие скрипты. Тем не менее, твой последний пример после доработки напильником ($m->output(); => $movie->output(); ) работает абсолютно одинаково.
                                слажал, согласен :)) извените...
                                у меня заработал он...
                                спасибо за консультацию :)
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0413 ]   [ 15 queries used ]   [ Generated: 19.04.24, 02:39 GMT ]