Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Flash, Flex, ActionScript > flash из php |
Автор: kaiser Zaido 31.01.05, 16:15 |
Вчера столкнулся с этой темой, показалась очень интересной Проблема состояла в том что было неоткуда взять скомпилированную 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, такую чтобы у вас работала Думаю и у меня тогда заработает ) Еще к слову - у меня стоит Денвер - может это он плохо работает?? Хотя маловероятно я думаю... |
Автор: SiMM 31.01.05, 18:36 |
Цитата kaiser Zaido @ Потому что дистрибутив PHP лежит на http://php.net а не где-то там на левых сайтах. скажите где скачать php_ming.dll, такую чтобы у вас работала ... у меня стоит Денвер |
Автор: Trustmaster 31.01.05, 18:40 |
Какая версия PHP? |
Автор: kaiser Zaido 31.01.05, 20:40 |
2SiMM потому что там не dll, а исходники... я к сожалению не сталкивался с компиляцией дллок и поэтому не знаю сработает ли у меня 2Trustmaster PHP Version 4.3.6 |
Автор: SiMM 31.01.05, 20:45 |
Где? Может не стоит маяться фигнёй и скачать наконец свежий скомпиленный бинарник, включающий все модули, с ОФИЦИАЛЬНОГО сайта? |
Автор: kaiser Zaido 31.01.05, 21:00 |
и там это расширение есть?? |
Автор: SiMM 31.01.05, 21:20 |
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> dir c:\usr\php\extensions\php_ming.dll 21.09.2004 14:08 188 416 php_ming.dll |
Автор: kaiser Zaido 31.01.05, 21:38 |
а ты не можешь эту библиотеку отдельно выложить в инете? или приаттачить к сюда?? или выслать мне на мыло?? ka-zaido@yandex.ru спасибо... |
Автор: SiMM 31.01.05, 21:46 |
Интересно, с чего ты решил, что тебе подойдёт dll-ка от версии 4.3.9? http://webfile.ru/174652 Добавлено Цитата kaiser Zaido @ Кстати, лучше бы ты код какой (который у тебя не работал должным образом) для теста привёл, поскольку я этот модуль никогда даже не пробовал. Я думаю проблема в библиотеке, поэтому прошу скажите где скачать php_ming.dll, такую чтобы у вас работала |
Автор: kaiser Zaido 31.01.05, 22:02 |
ну я брал примеры, которые работают вот с сохранением они работают, а с выводом на экран нет ну вот например такой код: Цитата <? //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... так что примеры не идут |
Автор: SiMM 01.02.05, 05:58 |
Цитата kaiser Zaido @ Manual: ming - там даже полноценная поддержка 4ки не обещается.Ну так исправь хотя бы на 5.Fatal error: ming_useswfversion(): Only SWF versions 4 and 5 are currently supported! in z:\home\zaido1.net\www\hz.php on line 3 Цитата kaiser Zaido @ У меня ничего не получилось. После того как удалил $movie->add(new SWFAction( $strAction)); (зачем он там дважды?) и поправил версию с 6 на 5.Работает одинаково (одинаково не работает). Выходные файлы правда отличаются одним байтом (4й байт в "сохраняемом" файле 0x8C, в "выводимом" - 0x8E, ну и кроме того, "выводимый" длиннее на два байта). И вообще, фраза "не работает" - это не описание проблемы. если откомментировать, а то закоментировать то получиться флешка что можно рисовать на экране |
Автор: SiMM 01.02.05, 07:18 |
А вообще - какая необходимость делать SWF на PHP, когда можно обходиться и без этого? |
Автор: kaiser Zaido 01.02.05, 14:21 |
неработает это означает что не выводиться флешка на страничку, я кажеться подробно описал в первом посте... а зачем нужно - просто интересно есть же такая возможность ) Добавлено вот еще скриптец <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> <? 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(); ?> когда ставлю на сохранение то рисует какой-то треугольник беременный, а если прошу отдать его через браузер, то получаю только окошко флеша, т.е. поверхность, а треугольник не показывает |
Автор: SiMM 01.02.05, 14:37 |
Это ничего не значит и так же неинформативно.Вообще твои примеры меня поражают - то ли ты не умеешь делать Cut&Paste, то ли специально даёшь нерабочие скрипты. Тем не менее, твой последний пример после доработки напильником ($m->output(); => $movie->output(); ) работает абсолютно одинаково. |
Автор: kaiser Zaido 01.02.05, 14:49 |
слажал, согласен ) извените... у меня заработал он... спасибо за консультацию |