작성자: Bryan Mattern 一木번역
SWF 및 Flash 소개
SWF는 Macromedia Flash에서 인터넷 사용자에게 사진, 애니메이션 및 사운드를 전달하기 위해 사용하는 파일 형식입니다. Flash를 사용하면 사용자에게 풍부하고 동적인 인터페이스를 제공할 수 있습니다. 웹 사용자의 약 90%는 브라우저 플러그인을 설치하지 않고도 SWF 컨텐츠를 탐색할 수 있으며 2억 명 이상의 사람들이 Flash 플레이어를 다운로드했습니다. Macromedia는 1998년 4월에 SWF 사양을 발표했습니다. PHP4에 SWF 지원을 추가합니다.
PHP에 내장된 동적으로 이미지를 생성하는 기능은 저를 매료시키는 기능입니다. 보다 전문적이고 편안해 보이는 보고서와 인터페이스를 생성할 수 있습니다. 처음에는 웹에 널려 있는 다양한 GD 코드를 사용하여 다양한 프로젝트의 데이터를 표시하는 이미지를 만들었습니다. 그러나 나는 곧 생성된 이미지의 불확실성에 짜증이 나고 벡터 그래픽을 사용하여 문제를 해결할 수 있는지 알아보기로 결정했습니다. 나는 당신이 동의할 것이라고 생각합니다. 결과는 훨씬 좋아 보입니다. 그림이 천 단어를 표현할 수 있다면 플래시 애니메이션이 무엇을 나타내는지 상상해 보세요.
이 예제는 최대한 간단하게 만들고 기본적인 것만 이야기하겠습니다. 내 목적은 GD에서 생성한 GIF 및 PNG 이미지를 저장하는 Drog를 만드는 것입니다. Flash의 유명한 다양한 시각 효과와 같은 확장 기능과 향상된 기능을 추가할 수 있습니다. 예를 들어, 그래픽이 페이드 인되거나, 페이지가 로드될 때 춤추거나, 눈송이 몇 개를 동적으로 표시하도록 할 수 있습니다. 여러분의 상상력이 PHP SWF 기능의 유일한 한계입니다.
그래프로 표시해야 하는 데이터를 얻는 방법은 독자의 연습에 맡기는 것이 가장 좋습니다. 이 기사는 Flash 파일을 동적으로 생성하는 방법에 관한 것이므로 예제에서는 가상 테이블을 데이터 세트로 사용하여 그래픽 보기를 생성하겠습니다. 데이터를 검토하고 가장 적합한 차트 형식을 결정해야 합니다. 대부분의 경우 원형 차트가 적합한 선택이며 이것이 제가 예제에서 사용할 차트 형식입니다. 꺾은선형, 막대형, 영역형 차트도 비슷한 방식으로 만들 수 있습니다.
이 예에서는 여러 도시에 일부 패키지를 보내고 각 도시에서 받은 패키지의 비율을 확인하려고 한다고 가정합니다. 우리는 "world" 데이터베이스의 "city" 테이블에 데이터를 저장하기로 결정했습니다. 먼저 테이블을 생성하고 이 예에 필요한 데이터를 입력해 보겠습니다.
#
# 'city' 테이블의 테이블 구조
#
DROP TABLE IF EXISTS city
CREATE TABLE city (
city_id int(14) NOT NULL auto_increment,
city_name varchar(255) NOT NULL,
city_timestamp timestamp(14),
PRIMARY KEY (city_id)
)
#
# 'city' 테이블에 대한 데이터 덤프
#
INSERT INTO city VALUES( '1', 'London', '20000917122625')
INSERT INTO city VALUES( '2', 'London', '20000917122626'); 3', '런던', '20000917122626')
INSERT INTO city VALUES( '4', '런던', '20000917122627')
INSERT INTO city VALUES( '5', 'Paris', ' 20000917122631');
INSERT INTO city VALUES( '6', 'Paris', '20000917122632')
INSERT INTO city VALUES('7', 'New York', '20000917122644'); INSERT INTO city VALUES( '8', 'New York', '20000917122645')
INSERT INTO city VALUES( '9', 'New York', '20000917122646'); 10', '뉴욕', '20000917122646')
INSERT INTO city VALUES( '11', 'New York', '20000917122647')
INSERT INTO city VALUES( '12', '홍콩 ', '20000917122654');
SWF를 사용하도록 시스템을 구성합니다
제가 사용하는 환경은 RedHat Linux6.2, Apache 1.3.12, PHP 4.0.2(Apache 모듈로 컴파일됨)입니다. Windows에서 PHP를 사용하는 경우에는 상황이 약간 다릅니다. Flash Dll을 다운로드하거나 컴파일해야 하지만 코드를 수정할 필요는 없습니다.
PHP는 Paul Haeberli의 libswf 모듈을 통해 Shockwave Flash 파일을 생성하는 기능을 제공합니다. http://reality.sgi.com/grafica/flash/에서 libswf를 다운로드해야 합니다. 그런 다음 --with-swf[=DIR] 옵션을 사용하여 PHP를 구성해야 합니다. 여기서 DIR은 include 및 lib 디렉터리가 있는 디렉터리입니다. include 디렉터리에 swf.h 파일이 있어야 하고, lib 디렉터리에 libswf.a 파일이 있어야 합니다. 다운로드한 libswf 배포판의 압축을 풀면 이 두 파일은 동일한 디렉터리에 압축이 풀립니다. 이 두 파일을 올바른 위치로 이동해야 합니다. 완료되면 디렉토리 구조는 다음과 같아야 합니다: /fonts
...
SWF 기능이 제대로 작동하려면 /usr/local/swf/fonts/ 디렉토리를 복사해야 합니다. 웹 서버가 이에 액세스할 수 있습니다(Apache 및 mod_php에 가장 좋은 방법). 절대 경로를 사용하고 위 디렉터리를 Apache의 문서 루트 디렉터리에 복사하세요.) 또한 libswf 릴리스 버전에는 유형 1 글꼴을 Flash에서 사용할 수 있는 글꼴로 변환할 수 있는 작은 c 프로그램이 있습니다.
SWF 파일을 동적으로 생성하고 작성해야 하기 때문에 웹 서버는 파일이 저장된 디렉터리에 대한 쓰기 권한을 가지고 있어야 합니다.
위 내용은 flashsolediter.exe의 내용을 포함하여 Flash 1을 사용하는 그래픽 데이터에 flashsolediter.exe를 사용하는 방법을 소개한 내용입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.