강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

png
작성자 : 13 김영철
등록날짜 : 2009.01.13 12:50
1,814
You have probably seen avatars and banners like this before in forums and such.
Avatars that changes when you reload the page. And when you look at the avatars extention, you see that it is a .png or whatever.
This can be done using PHP and .htaccess.
PHP is used to create a new image from a random image and .htaccess is used to change the file extention to make it look like a regular .png file.

This is exactly what we're going to do now.
So find a few avatars you want to use, like these:
1.png2.png3.png4.png5.png
(Try to make sure they are 8-bit png, not 24-bit)

Create a new php file called "avatar.php" and enter this code:

<?php
header("Content-type: image/png");

$avatars[] = "avatars/1.png";
$avatars[] = "avatars/2.png";
$avatars[] = "avatars/3.png";
$avatars[] = "avatars/4.png";
$avatars[] = "avatars/5.png";

$avatar = $avatars[mt_rand(0, count($avatars)-1)];

$newavatar = imagecreatefrompng($avatar);
imagepng($newavatar);
imagedestroy($newavatar);

?>


Ok, here's what the code does:

header("Content-type: image/png");
- Makes the php file act like a png image file.

Then we add all the avatars we want into an array called $avatars.
Makes sure you use the correct path to the images.

$avatar = $avatars[mt_rand(0, count($avatars)-1)];
- This code selects a random avatar from the $avatars array and store it in a new variable called $avatar. mt_rand() is a function that returns a random number between 0 and the amount of avatars in the $avatars array in this case. count() returns how many avatars there is in the $avatars array.

$newavatar = imagecreatefrompng($avatar);
- Uses the imagecreatefrompng() function from the GD library to create a new image from a file. The avatar stored in the $avatar array in this case.

imagepng($newavatar);
- Outputs the image to the browser.

imagedestroy($newavatar);
- Deletes the image from the memory.

Now, if you run this script you will just see alot of weid characters, but thats where .htaccess comes in.
Create a new file called ".htaccess" and enter the following code:

RewriteEngine On
RewriteRule avatar.png avatar.php

This code will make avatar.png act like avatar.php.
So if you open avatar.png (wich doesnt even exist) you will get the output from avatar.php. - A random image!

And that's about it.
If you have any troubble, make sure your server have the GD library installed and that you have permission to use .htaccess.

Anyways, here's my result:

[출처] 웹디황용

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
2685 HTML 태그 제거 스크립트 13 김영철 01.13 1804
2684 문자열함수 13 김영철 01.13 1804
2683 form(2) 99 단국강토 02.09 1805
2682 자바스크립트 - String 객체, Screen 객체 99 단국강토 02.16 1805
2681 제로보드에 RSS를 지원하기 - zero2rss 13 김영철 01.13 1805
2680 라이브러리 없이 그래프 그리기 13 김영철 01.14 1805
2679 새로고침때 현페이지 유지 13 김영철 01.14 1805
2678 SQL : T-SQL문 : T-SQL(Transact-SQL)문법 13 김영철 01.23 1805
2677 회색바탕에 움푹파인듯한 느낌의 스타일시트 M 최고의하루 12.26 1806
2676 Session 값 얻어 내기 13 김영철 01.13 1806
2675 몇가지 sql 명령어 13 김영철 01.23 1808
2674 달력 포멧 스크립트 M 최고의하루 12.19 1809
2673 소스 보기방지 우측 마우스 드래그 금지 99 단국강토 01.05 1809
2672 mime_type 알기 13 김영철 01.14 1809
2671 출력버퍼링 예제 13 김영철 01.13 1809
2670 정규표현식의 규칙 13 김영철 01.14 1809
2669 메일 보내기 소스 - fsocketopen 13 김영철 01.13 1809
2668 mime_type 알기 13 김영철 01.14 1809
2667 [펌] 스크롤바 따라 다니는 메뉴 만들기 M 최고의하루 12.26 1810
2666 MSSQL SERVER에서 접속 port 변경하기 99 단국강토 01.06 1810
2665 php에서 유니코드 인코딩하기 13 김영철 01.13 1812
2664 파라미터 정리 13 김영철 01.14 1812
2663 php 세션css 13 김영철 01.13 1813
2662 한글 및 이미지 정렬 M 최고의하루 12.19 1814
2661 [PHP] PHP5에서의 객체지향프로그래밍 13 김영철 01.13 1814
2660 [JS] 자바스크립트 typeof[(expression]] 99 단국강토 02.16 1815
열람중 png 13 김영철 01.13 1815
2658 100~200까지 3과 5의 배수의합을 13 김영철 01.13 1816
2657 트랙백 13 김영철 01.13 1816
2656 First Guide to MySQL 13 김영철 01.23 1816
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취