> 백엔드 개발 > PHP 튜토리얼 > 소스 프로그램 다운로드 간단한 PHP 입문 소스 프로그램

소스 프로그램 다운로드 간단한 PHP 입문 소스 프로그램

WBOY
풀어 주다: 2016-07-29 08:33:28
원래의
1476명이 탐색했습니다.

"Starry Sky Prodigal" PHP 중국어 문서의 예를 인용하면:
채팅방은 웹사이트에서 지루한 사람들을 위한 비밀 무기입니다. 동시에 웹마스터나 다른 직원도 여기서 시간을 보낼 수 있습니다. 활발한 온라인 로맨스가 있더라도 최소한 타이핑 속도를 높일 수 있습니다.
대화방은 사실 여러 사람이 사용하는 CGI 프로그램입니다. 프로그램은 각 사람이 입력한 문자열을 시스템이 수신한 시간에 따라 정렬한 다음 각 사용자에게 보냅니다. 웹 채팅방과 BBS 채팅방의 차이점은 BBS 채팅방은 받은 모든 문장을 채팅방의 모든 인터넷 사용자에게 즉시 배포할 수 있다는 것입니다. 웹 CGI 프로그램은 항상 BBS 텔넷 회선처럼 연결할 수 없으며 웹 CGI는 정보를 신속하게 보내야 합니다. 가능한 한 다음 연결을 종료하십시오. 이러한 상황은 웹 채팅방이 여전히 HTTP 전송 프로토콜을 사용하기 때문에 발생합니다. 버전 0.9, 1.0 또는 1.1이든 HTTP 구현 버전이 오랫동안 네트워크 연결 포트를 점유할 수 없습니다.
데이터가 즉시 전송되지 않는 문제와 정보 업데이트 문제를 해결하기 위해 넷스케이프는 브라우저 버전 3.0 이후 새로운 기술을 사용했고, 인터넷 익스플로러 역시 넷스케이프가 개발한 이러한 기술을 구현했습니다. Netscape에서는 이를 서버 푸시(Server Push)와 클라이언트 풀(Client Pull)이라는 두 가지 기술로 나눕니다. 서버 푸시는 웹 서버에서 여러 MIME 인코딩을 사용하여 데이터를 사용자에게 보냅니다. 현재 이 방법을 사용하는 웹사이트는 거의 없지만, 클라이언트 풀은 데이터에 필요함을 나타내는 http-equiv="Refresh" 속성을 사용합니다. 로드 시간은 이를 달성하기 위해 content 속성이 사용됩니다.
태그는 일반적으로 브라우저가 사용자 측 웹페이지 업데이트를 준비할 수 있도록 .. 섹션에 배치됩니다. 다음은 15초마다 다시 로드되도록 설정된 메타 및 PHP의 예입니다.
">
서버 푸시 또는 클라이언트 풀을 사용하여 채팅방을 생성하지 않는 경우 다른 방법이 있습니까? 대답은 '예'입니다. Java 또는 ActiveX(IE4, 5로 제한)를 사용하거나 자체 브라우저 플러그인 프로그램(예: Qimo 채팅방)을 개발할 수도 있습니다. 는 PHP와 관련이 없으며 우리의 초점이 아닙니다
또한 모든 네티즌의 메시지는 정기적으로 업데이트되므로 새로 고침으로 인해 반쯤 작성된 문자열이 지워지는 것을 방지하기 위해 채팅방이 폐쇄되었습니다. .다음 예시는 채팅방의 메인 프로그램입니다.
🎜>

< =post scrolling=no>
<br><body> <br>이 채팅방은 페이지 프레임을 사용해야 하며, 귀하의 브라우저에서는 이를 사용할 수 없습니다.<br></body>


예를 들어, 이 프로그램은 두 개의 PHP 프로그램을 가져오는 것이 좋습니다. , /chatroom, 향후 유지 관리를 위해 list.php와 post.php에 동일한 변수를 사용하기 위해 다음 예에서는 공통 변수 경로를 env.inc에 배치합니다. 이 경로는 /chatroom 또는 PHP는 웹 서버(예: Apache)의 설정 경로를 포함합니다.
// 파일 이름: env.inc
$tempdir="/tmp/"
$chatfile. "/tmp/abc";
?>
채팅방의 백엔드는 파일을 사용하여 매우 간단하게 설계할 수도 있고, 원하는 경우 데이터베이스를 만들고 여기에 넣을 수도 있습니다. 시스템 효율성에 관해서는 프로세스 통신을 위해 UNIX의 IPC를 사용하는 것을 고려할 수 있습니다.
이 섹션에서는 사용자의 메시지 내용을 파일에 저장합니다. 여기에 있는 대부분의 예제는 UNIX/Linux 외부 명령을 사용합니다. 시스템에 이 명령(또는 프로그램)이 없으면 해당 프로그램을 직접 설치하십시오.
실제로 데이터를 파일에 던지는 것이 데이터베이스를 사용하는 것보다 빠릅니다. 그래도 속도에 관심이 있다면 UNIX 시스템에 RAM 디스크를 설치한 다음 파일 액세스 경로를 RAM 디스크로 설정할 수 있습니다. 액세스 속도는 엄격한 요구 사항을 충족할 수 있습니다. 스스로를 고속 검색 엔진으로 홍보하는 일부 웹사이트는 전체 데이터베이스 정보를 RAM 디스크에 넣기도 하는데, 이렇게 하면 시스템 속도가 즉시 10~100배 향상됩니다. 더욱이 RAM 가격은 다른 솔루션에 비해 상대적으로 저렴합니다. Windows NT를 사용하는 경우 Microsoft에서 제공할 때까지 기다리거나 타사 제품을 사용할 수밖에 없습니다.
일부 사용자는 UNIX에 익숙하지 않을 수 있습니다. 다음은 사용되는 명령에 대한 소개입니다.
터치: 새 파일을 생성하거나 이전 파일의 마지막 업데이트 날짜를 수정합니다.
에코와 2보다 큰 기호: 문자열 표시를 지정된 위치로 리디렉션합니다.
tail: 파일의 마지막 몇 줄을 표시합니다. 기본값은 10줄입니다. 표시할 줄 수를 수정하려면 빼기 기호와 숫자를 사용할 수 있습니다.
다음은 메시지 문자열을 보내고 처리하는 프로그램입니다. 이 프로그램은 env.inc 파일을 사용합니다.
// 이름: post.php
require("env.inc");
if (($chatuser!="") 및 ($chattext!="")) {
  $chatstr="".date("h:i:s") ."-".$chatuser.": ".$chattext;
  $cmdstr="echo "".$chatstr."" >> ".$chatfile;
  if (!file_exists($chatfile)) passthru("touch ".$chatfile);
  패스스루($cmdstr);
}
?>

방법=게시물>
<테이블 테두리=0 너비=100%>
匿称:
<입력 유형=텍스트 이름=chatuser 크기=8 value="">
发言:
<입력 유형=텍스트 이름=채팅 텍스트 크기=30 최대 길이=500>





程式先检查是否유저时间存入档案中(利사용 UNIX 的转向指令) 。当然,为了防止错误,先检查是否有档案可存档,若没有则先 touch 该档,例中的档案就是 /tmp/abc。

">


// 이름: list.php
require("env.inc");
if (!file_exists($chatfile)) {
  echo "尚未开张";
  종료;
}
$uniqfile=$tempdir.uniqid(rand());
$shellcmd="/usr/bin/tail -50 ".$chatfile. " > ".$uniqfile;
패스스루($shellcmd);
$chatfilearray=파일($uniqfile);
$j=count($chatfilearray);
for ($i=1; $i<=$j; $i ) {
  echo $chatfilearray[$j-$i]."
n";
}
연결 해제($uniqfile);
?>

if (!file_exists($chatfile)) {
  echo "尚未开张";
  종료;
}
$uniqfile=$tempdir.uniqid(rand());
$shellcmd="/usr/bin/tail -50 ".$chatfile. " > ".$uniqfile;
패스스루($shellcmd);
程式先检查有没有使 이용자 发送聊天内容的档案 /tmp/abc,若没有就显示尚未开张,等使 이용자送聊天内容。若已有聊天资料,就抓流最后五十笔,지금
$chatfilearray=file($uniqfile);
$j=count($chatfilearray);
for ($i=1; $i<=$j; $i ) {
  echo $chatfilearray[$j-$i]."
n";
}
연결 해제($uniqfile);
将档案读入阵列变数 $chatfilearray 中,并以最后的资料最先显示的方式送给浏览器端,当然可以使用对阵列排序적 방법, 但确定一时最后存入的资料에서 最后면 ,将它排序实에서 很浪费 CPU 时间,因此就从最后 echo 到最前面的资料。使用完成还要用 unlink() 指令,将临时档杀掉。

以上就介绍了源程序下载 一个简单的PHP入门源程序,包括了源程序下载 内容,希望对PHP教程兴趣的朋友有所帮助。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿