오늘은 다시 하루가 바빠졌습니다. 저녁에는 최근 일정을 정리하고 다시 초보 PHP 학습 여정을 시작했습니다. 오늘 저는 "Chuangjia PHPTXT Guestbook Version 1.0"을 다운로드하고 소스 코드를 살펴보기 시작했습니다. 벌써 11시 28분~.
먼저 index.php로 시작하세요. require("config.php"); include("function.php"); require와 include의 차이점은 여전히 중요합니다. 매뉴얼: http://cn2.php.net/manual/zh/function.require.php.
이제 config.php와 function.php에 무엇이 있는지 살펴보겠습니다.
config.php는 관리자 계정, 비밀번호, 메시지 저장을 위한 경로 및 파일 이름, 각 페이지에 표시되는 메시지 수 등 웹사이트 전체에서 사용되는 일부 변수를 정의합니다. Discuz에 그런 것이 있다는 것을 기억합니다. 아마도 이것은 모든 PHP 사이트에 대한 암묵적인 규칙일까요?
Function.php에는 사용자 이름과 비밀번호 확인, UBB 코드 변환 등 일련의 기능이 정의되어 있는데 UBB 코드가 뭔지는 모르겠어요~. 지금은 무시하세요.
index.php로 돌아갑니다. 나중에 정의한 변수가 몇 개 있는데 용도를 모르겠으니 지금은 그냥 무시하자 우울하네요. 헤더 함수 http://cn2.php.net/manual/zh/function.header.php가 이어집니다. head.php라는 파일이 포함되어 있으며 file()을 사용하여 msgd라는 배열에 메시지를 저장하는 파일을 읽습니다. http://cn2.php.net/manual/zh/function.file.php
아마 오늘은 소스코드를 이해하겠지만 너무 늦어서 일단은 쓰지 않겠습니다. 그것에 대해서는 나중에 얘기하겠습니다. 워드를 설치해서 직접 복사해야 합니다. (왜 제 컴퓨터에는 워드가 없는지 모르겠네요~~) 어쨌든 오늘은 쉬고 내일 낮에는 시간이 없을 거예요. 밤에는 집에 안 갈 거예요. 모레는 사람들을 기차역으로 보내고 다시 학교로 갈 거예요. 언제 PHP를 계속할 시간이 생길지 모르겠습니다.
require("head.php"); 파일이 들어있는데 head는 index.php에만 포함되어 있는 것 같은데 왜 직접 작성하지 않는지 모르겠습니다. 헤드 부분의 코드는 주로 메시지 검색을 위한 양식을 제공합니다.
$msgd=file($dbtable); $dbtable이 config에 정의되어 있습니다. $dbtable="data/data.dat" 이 파일은 메시지를 저장하는 데 사용됩니다. 여기서는 파일 함수를 사용하여 이 파일을 $msgd 배열에 저장합니다. 파일의 각 줄은 배열 요소입니다.
$rows=count($msgd); 여기서 count 함수는 $msgd의 요소 수(메시지 수)를 $rows에 저장하는 데 사용됩니다.
if($kw)//키워드, 검색 여부 결정
{
for ($i=0;$i<=$rows;$i++)//Traverse
{
$tmp2=explode("|separator|",$msgd[$i]);//tmp2 배열에 메시지가 없습니다.
if($type=="name")//이름으로 검색하는 경우
{
$msgn[$i]=$tmp2[1];//이름 변경 마을은 $msgn[$i]
}else//이름으로 검색하지 않는 경우
{
$msgn[$i]= $tmp2[ 10];//msgn[$i]
}
if(eregi($kw,$msgn[$i]))에 메시지 배열의 10번째 요소를 저장합니다.
{
$chj_nr[]=$msgd[$i];//전체 메시지를 저장하려면 $chj_nr[] 배열을 사용하세요
$chj_numib++;//요구 사항을 충족하는 메시지 수
}
}
if($chj_numib<1) {echo "$kw와 관련된 일치하는 결과가 없습니다!!";exit;}
$msg=array_reverse($chj_nr);//Array of 검색결과와 일치하는 메시지
$total=ceil($chj_numib/$pagesize); //전체 페이지 수 계산
}else//검색이 아닌 경우
{
$chj_numib=$rows;//모든 댓글
$msg=array_reverse($msgd);
$total=ceil($chj_numib/$pagesize);
}
/ /echo $ total; $ pagesize *$ chj_numib). //이 for 루프는 요구 사항을 충족하는 모든 메시지를 출력하는 데 사용됩니다(배열 $msg)
if($i<$chj_numib){ #####
$tmp = 폭발("|chjia_com|",$msg[$i]);
?>
다음은 출력 하나는 메시지를 남겼습니다. 이 시점에서 index.php는 기본적으로 완료되었습니다.
위 내용은 루키의 PHP 노트3 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!