신입의 PHP 노트 3
오늘은 다시 하루가 바빠졌습니다. 저녁에는 최근 일정을 정리하고 다시 초보 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)를 참고해주세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alipay PHP ...

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

PHP 개발에서 견고한 원칙의 적용에는 다음이 포함됩니다. 1. 단일 책임 원칙 (SRP) : 각 클래스는 하나의 기능 만 담당합니다. 2. Open and Close Principle (OCP) : 변경은 수정보다는 확장을 통해 달성됩니다. 3. Lisch의 대체 원칙 (LSP) : 서브 클래스는 프로그램 정확도에 영향을 미치지 않고 기본 클래스를 대체 할 수 있습니다. 4. 인터페이스 격리 원리 (ISP) : 의존성 및 사용되지 않은 방법을 피하기 위해 세밀한 인터페이스를 사용하십시오. 5. 의존성 반전 원리 (DIP) : 높고 낮은 수준의 모듈은 추상화에 의존하며 종속성 주입을 통해 구현됩니다.

시스템이 다시 시작된 후 UnixSocket의 권한을 자동으로 설정하는 방법. 시스템이 다시 시작될 때마다 UnixSocket의 권한을 수정하려면 다음 명령을 실행해야합니다.

phpstorm에서 CLI 모드를 디버그하는 방법은 무엇입니까? PHPStorm으로 개발할 때 때때로 CLI (Command Line Interface) 모드에서 PHP를 디버그해야합니다 ...

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.
