Web Programming >> PHP Programming
|
[목차] |
제23장 Ming 라이브러리 사용하기
2. 소스로 Ming 라이브러리 설치하기
1. 다운받기 최신버전은 ming 사이트에서 다운받기 바랍니다. 강좌의 현재버전를 ftp://ftp.leelab.co.kr/linux/ming 에서도 다운 받을 수 있습니다. util 디렉토리에 ming-0.2-pre-a.tar.gz이 있을 것입니다. 다운받으세요.
2. Ming 설치하기 [root@www root]# cp ming-0.2-pre-a.tar.gz /usr/local/src [root@www root]# cd /usr/local/src [root@www src]# tar xvfz ming-0.2-pre-a.tar.gz [root@www src]# cd ming-0.2-pre-a [root@www ming-0.2-pre-a]# make [root@www ming-0.2-pre-a]# make install 위와 같이 하면 Ming 라이브러리가 설치됩니다. 그외 ming에서 지원하는 유틸리티는 아직 설치되지 않아으므로 컴파일이 필요합니다. [root@www ming-0.2-pre-a]# cd util [root@www util]# vi listmp3.c --- 패치가 필요합니다.
...
void printMP3Headers(FILE *f) { unsigned long flags; int frameLen, numFrames = 0; int bitrate, bitrate_idx, samplerate, samplerate_idx; int version, layer, channels, padding; int bitrateSum = 0; int length; int stereo; 부분을 추가하고
....
length = numFrames*1152/samplerate; 을 length = numFrames*(samplerate > 3200 ? 1152 : 576)/samplerate; 와 같이 수정합니다.
저장하고 나갑니다.
[root@www util]# make bindump; make hexdump; make listswf; make listfdb; make listmp3; make listjpeg; make makefdb; make swftophp
[root@www util]# rm -rf /usr/local/src/php-4.0.6/ext/ming [root@www util]# cd ../ [root@www ming-0.2-pre-a]# cp -rf php_ext/ /usr/local/src/php-4.0.6/ext/ming/
PHP 설치시 사용할 프로그램을 복사한다. 기존에 있는 것은 물론 지워야 한다.
Ming은 설치가 끝났고, PHP에 포팅하는 것만 남았다. 여기서는 아파치 및 PHP모듈을 DSO 방식으로 설치했다고, 생각하고 작업한다. DSO 설치방법은 linux강좌 서버관리에서 확인할 수 있다.
3. 아파치 설치하기 # cd /usr/local/src/apache-1.3.22 # ./configure --prefix=/usr/local/httpd --enable-shared=max --enable-module=all --disable-module=auth_db # make # make install
4. PHP 설치하기
[root@www src]# cd /usr/local/src/php-4.0.6 [root@www php-4.0.6]# ./configure --with-apxs=/usr/local/httpd/bin/apxs --with-config-file-path=/usr/local/httpd --with-mysql=/usr/local/mysql --enable-track-vars --disable-debug --with-ming --with-gd [root@www php-4.0.6]# make [root@www php-4.0.6]# make install
5. PHP 환경설정하기 # cd /usr/local/httpd/conf # vi httpd.conf
... # And for PHP 4.x, use: # AddType application/x-httpd-php .php .php3 .html .htm AddType application/x-httpd-php-source .phps
#
6. PHP의 Ming 포팅 확인하기 # cd /usr/local/httpd/htdocs/ # vi phpinfo.php <? phpinfo(); ?>
웹 브라우저에서 아래와 같이 확인한다. http://localhost/phpinfo.php
7. Ming 프로그래밍하기 파일명 : morph.php <?php
$morph = new SWFMorph();
// 주의점 : 처음 Shape와 마지막 Shape는 같은 객체여야 한다. // 처음 Shape를 생성하고 그린다. (직사각형) $shape = $morph->getShape1(); $shape->setLine(40, 0, 0xff, 0); $shape->setLeftFill($shape->addFill(0xff, 0xff, 0)); $shape->movePenTo(1000, 1000); $shape->drawLine(1000, 0); $shape->drawLine(0, 2000); $shape->drawLine(-1000, 0); $shape->drawLine(0, -2000);
// 마지막 Shape를 생성하고 그린다. (원?) $shape = $morph->getShape2(); $shape->setLine(20, 0, 0, 0xff); $shape->setRightFill($shape->addFill(0xff, 0xff, 0xff)); $shape->movePenTo(2000, 2000); $shape->drawCurve(1000, 0, 0, 1000); $shape->drawCurve(0, 1000, -1000, 0); $shape->drawCurve(-1000, 0, 0, -1000); $shape->drawCurve(0, -1000, 1000, 0);
$movie = new SWFMovie(); $movie->setDimension(4000, 4000); $movie->setBackground(0x00, 0x00, 0x00);
$item = $movie->add($morph); $item->moveTo(100, 100);
for ($r=0; $r<=30; $r++) { $item->setRatio($r/30); $movie->nextFrame(); }
header("Content-type: application/x-shockwave-flash"); $movie->output(); ?>
웹 브라우저로 확인하기 http://localhost/morph.php
|
[목차] |