PHP 프로그래밍

본문 바로가기
사이트 내 전체검색


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

img3.gif

 

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

 

img4.gif

 

[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.