저자: Chen Xinzheng 출처: Tianji.com
서문: 요즘에는 개인 홈페이지나 블로그를 운영하는 많은 친구들이 가상 호스트를 임대하고 있으며 상당수의 가상 호스트가 PHP를 지원하고 있습니다. PHP를 지원하는 호스팅 공간이 있다면 웹사이트를 PHP로 무장하셨나요?
방문자의 관심을 끌기 위해 PHP가 가끔씩 자동으로 업데이트되는 일부 콘텐츠를 웹 페이지에 추가하도록 할 수 있습니까? 이 기능을 구현하는 데는 고급 프로그래밍 지식이 필요하지 않습니다. 다음 예를 살펴보십시오.
(1) 영어 속담
간단한 응용 프로그램을 살펴보겠습니다. PHP 프로그램이 데이터베이스에서 레코드 행을 무작위로 추출하여 이를 표시하도록 합니다. 웹 페이지에서 15초마다 다른 기록을 읽습니다. 영어와 중국어로 된 속담은 디스플레이에 적합한 콘텐츠입니다.
개인 홈페이지를 호스팅하는 대부분의 저렴한 가상 호스트는 MySQL과 같은 데이터베이스를 지원하지 않는다는 점을 고려하여 텍스트 데이터 파일을 사용하여 트래픽이 적은 웹사이트에 충분한 데이터를 저장합니다. 다음 내용을 포함하는 english.dat라는 텍스트 파일을 만듭니다.
시작을 싫어하는 사람은 끝도 싫어합니다.
나쁜 덤불은 열린 들판보다 낫습니다. 아무것도 없는 것보다 뭔가가 낫습니다.
좋은 소송보다 나쁜 타협이 좋은 소송보다 낫습니다.
나쁜 양심은 사람의 마음 속에 있는 뱀입니다.
나쁜 관습은 좋은 케이크와 같으니, 보관하는 것보다 깨지는 것이 더 낫습니다.
나쁜 자물쇠는 도둑을 불러온다.
...
각 줄은 완전한 기록이며 중간에 줄 바꿈이 있어서는 안 됩니다. 파일에 반자 큰따옴표( " )가 있어서는 안 됩니다. 그렇지 않으면 프로그램이 데이터를 출력할 때 구문 분석 오류를 발생시킵니다. 이런 내용은 인터넷에 많이 있으니 검색해 보시거나 제 홈페이지 http://www.musicfly.net/english.dat 에 가셔서 데이터 파일을 다운받으시면 됩니다
. english.dat라는 텍스트 파일을 만들고 다음과 같이 소스 코드를 추가합니다
.
$filename = 'english.dat'; //데이터 파일 이름
$refresh = 900; //업데이트 주기(초 단위, 필요에 따라 조정 가능)
$data = file($filename); //데이터 파일을 배열에 로드합니다.
$num_lines = count($data); //데이터 파일 라인 수, 즉 레코드 수 mt_srand(floor(time() / $refresh));
$id = mt_rand(0, $num_lines - 1); //레코드 번호를 무작위로 선택
$content = Cho($data[$id]); //레코드 번호에 따라 해당 데이터를 선택하고 마지막 줄바꿈 문자를 잘라냅니다.
echo "document.write("$content");" // 자바스크립트 형식 출력 데이터 사용
?>
english.dat와 english.php를 저장하고 서버의 동일한 디렉토리에 업로드하세요.
마지막 단계는 웹 페이지에서 이 PHP 프로그램을 호출하여 콘텐츠를 표시하도록 하는 것입니다. PHP 작업의 결과는 javascript 형식으로 출력되므로 이 PHP를 javascrupt로 호출하기만 하면 됩니다. 방법은 메모장이나 웹 페이지 편집 소프트웨어를 사용하여 수정하려는 html 파일을 열고 동적을 추가하는 것입니다. 수정하고 싶은 html 파일에 내용을 추가하세요. 표시된 위치에 다음 코드를 추가하세요:
<script 언어="javascript" src="english.php"></script>
수정한 html 파일이 english.php와 동일한 디렉토리에 있어야 하며 src=".."에 넣어야 합니다. English.php의 상대 경로를 나타냅니다.
수정된 html 파일을 서버에 업로드하고 브라우저에서 엽니다. 모든 단계를 올바르게 수행하면 표시된 데이터 파일의 내용을 볼 수 있습니다! 15분 후에 페이지를 새로 고치고 표시된 콘텐츠가 변경되었는지 확인하시겠습니까? 그리고 이러한 내용을 업데이트하기 위해 추가 작업을 수행할 필요가 없습니다. PHP 프로그램이 이를 수행합니다.
친구가 자신의 웹페이지나 블로그에 동일한 기능을 구현하고 싶지만 PHP를 지원하는 호스트가 없는 경우 <script 언어="javascript" src="http://your website/program path/english"를 사용할 수 있습니다. .php"></script> 메소드를 사용하여 호스트에서 프로그램을 호출하여 동일한 콘텐츠를 표시합니다.
물론, 이 프로그램은 gb2312 인코딩으로 내용이 표시되기 때문에 인코딩 방법이 호환되지 않는 문제가 있을 수 있습니다. UTF 인코딩된 웹 페이지에서 사용하면 중국어가 깨질 수 있습니다. 해결 방법은 이 문서의 범위를 벗어납니다. 관련 튜토리얼을 검색해 보세요.
이 기능을 깨닫고 나면 여러분은 html의 정적인 세계에서 php의 동적 세계로 이동하기 시작했습니다. 하루가 길어요. 다음번에는 PHP를 사용하여 웹 페이지에 "일일 운세" 기능을 추가하는 방법을 살펴보겠습니다.
(이 글의 프로그램은 모두 php4/php5 환경에서 실행됩니다.)