>백엔드 개발 >PHP 튜토리얼 >PHP를 사용하여 광고 순환 구현

PHP를 사용하여 광고 순환 구현

高洛峰
高洛峰원래의
2016-12-02 10:38:071857검색

온라인 광고가 인터넷 상에서 화제가 되었습니다. 그리고 468x60은 광고 담당자가 고민하고 있는 크기가 되었습니다.
광고를 처리할 때, 광고를 처리하는 서버에 직접 브라우저를 이용해 광고의 468x60 이미지 파일을 보낼 수 있다면 매우 편할 것입니다. 그냥 업로드하는 날.

이 문제는 ASP, Prel 등을 포함한 모든 Web CGI 프로그램의 고충으로, 시스템 구성 요소를 추가해야만 해결할 수 있습니다. 가장 강력한 웹 CGI 프로그램인 PHP로 알려진 이 프로그램의 성능은 실망스럽지 않으며 심지어 다른 CGI 도구를 능가합니다.

파일 업로드 기능은 RFC 1867 문서에 자세히 설명되어 있으며 특수 파일 형식(콘텐츠 유형) multipart/form-data를 사용합니다. 파일을 업로드하려면 브라우저가 Netscape 3.0 이상 또는 MS Internet Explorer 4.0 이상이어야 한다는 점은 주목할 가치가 있습니다.

먼저 아래 HTML 소스코드를 살펴보세요

< form enctype=&#39;multipart/form-data&#39; action=&#39;next.php&#39; method=post > 
您的大名: < input type=text name=user >< br > 
档案名称: < input name=&#39;myfile&#39; type=&#39;file&#39; >< br > 
< input type=&#39;submit&#39; value=&#39;送出&#39; > 
< /form >

form 태그에 사용자가 입력한 데이터를 표현하기 위해 enctype='multipart/form-data' 문자열을 추가합니다. 파일을 업로드해야 하며 메서드는 GET 대신 POST를 사용해야 합니다.

위 코드에서 Wilson Peng에 사용자 이름을 입력하고 c:myphoto.gif 파일을 선택한 경우 사용자가 전송 버튼을 누른 후 브라우저는 다음 POST 자료를 전송합니다.

Content-type: multipart/form-data, boundary=AaB03x 

--AaB03x 
content-disposition: form-data; name=&#39;user&#39; 

Wilson Peng 
--AaB03x 
content-disposition: form-data; name=&#39;myfile&#39; 
Content-type: multipart/mixed, boundary=BbC04y 

--BbC04y 
Content-disposition: attachment; filename=&#39;myphoto.gif&#39; 
Content-type: image/gif 
Content-Transfer-Encoding: binary 

...myphoto.gif 内容略... 
--BbC04y-- 
--AaB03x--

위 자료를 보면 Boundary=AaB03x는 자료를 다른 필드에 남겨두라는 메시지입니다. AaB03x의 인코딩 방식은 브라우저 버전에 따라 달라지는 경우가 많습니다. . 의. 그러면 --AaB03x가 서로 다른 필드를 구분하는 데 사용되는 것을 볼 수 있습니다.

위의 예를 보면, 폼을 처리하는 액션 프로그램 next.php는 자동으로 4개의 변수를 생성합니다. 아래 표를 참고하세요.

변수명 설명
$myfile은 업로드된 파일입니다. content
$myfile_name 사용자 이름에 업로드된 파일 이름
$myfile_size 업로드된 파일의 크기
$myfile_type 'image/gif'와 같은 업로드된 파일의 형식


next.php에서 프로그램이 해야 할 가장 중요한 일은 이 네 가지 변수를 잘 활용하는 것입니다. 그렇지 않으면 사용자가 업로드한 파일은 프로그램이 종료되자마자 사라지게 됩니다. 따라서 먼저 $myfile을 광고 이미지가 저장된 디렉터리에 복사해야 합니다

copy($banner,&#39;/home1/biglobe3/ad/&#39;.$banner_name);

이 프로그램은 파일을 /home/htdocs/ad 디렉터리에 저장합니다. /home/htdocs/ad/myphoto.gif로. 중요한 것은 저장되는 디렉토리는 Web Server가 읽을 수 없는 디렉토리가 될 수 없고, 인터넷에서 볼 수 있도록 웹사이트의 홈페이지가 위치한 디렉토리에 위치해야 한다는 것이다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.