>  기사  >  백엔드 개발  >  PHP FTP 학습 3

PHP FTP 학습 3

WBOY
WBOY원래의
2016-07-29 08:33:44884검색

작성자: Vikram Vaswani
Melonfire
2000년 11월 7일
지금까지 우리는 FTP와 관련된 수많은 PHP 함수를 접했지만 이는 단지 함수일 뿐이며 표시하려는 목표와는 거리가 멀습니다. 기능 진정한 성능을 발휘하려면 웹을 통해 파일을 업로드하고 다운로드할 수 있는 프로그램을 만들어야 합니다. 이것이 바로 우리가 할 일입니다!
코드에 들어가기 전에 말씀드리고 싶은 것은 이 예제는 단지 PHP의 다양한 FTP 기능의 사용법을 설명하기 위한 것일 뿐이며 오류 분석 등 여러 측면에서 완벽하지는 않습니다. 원하는 것 자신의 프로그램에 적용하려면 몇 가지 수정을 해야 합니다!
프로그램에는 다음 파일이 포함됩니다.
index.html - 로그인 파일
actions.php - 프로그램에 필요한 FTP 코드
include.php - 프로그램의 기본 인터페이스, 파일 목록 및 제어 버튼.
"index.html"부터 시작해 보겠습니다.
----------------------------------- -- -------------------
< 테이블 테두리=0 align=center>


>





/tr>


🎜>


><입력 유형=비밀번호 이름=비밀번호>



테이블>
------------------------------- ---- ------------------------
이것은 로그인 양식입니다. 서버 이름, 사용자 이름, 비밀번호, 입력 상자. 입력된 변수는 $server, $username 및 $password 변수에 저장됩니다. 양식이 제출되면 actions.php가 호출되어 FTP 연결이 초기화됩니다.
"hidden"은 CWD 값을 갖는 $action 변수로 action.php에 전달됩니다.
action.php 파일의 소스코드는 다음과 같습니다.
-------------------------------- -- -------------------





//양식에서 전송된 데이터를 확인하세요. 불완전한 경우 프로그램을 개선하려면 오류가 보고되어야 합니다. 여기에 더 완전한 입력 감지 기능이 있습니다
if (! $server || !$username || !$password)
{
echo "불완전한 데이터가 제출되었습니다!"
}
else
{
// 계속 읽어보세요
}
?>

------------- ----------- ------------- ------
다음은 "actions" 변수입니다. 프로그램에서는 다음 작업을 허용합니다.
"action=CWD"
변경 작업 디렉터리
"action=Delete"
지정된 파일 삭제
"action=Download"
지정된 파일 다운로드
"action=Upload"
지정된 파일 업로드
include.php 파일을 주의 깊게 확인하고 HTML 인터페이스를 포함하면 각 양식이 특정 기능을 가리키는 여러 양식이 포함되어 있음을 알 수 있습니다. 양식을 제출할 때 일반적으로 숨겨집니다. , 해당 기능이 실행됩니다.
예: "Delete"를 누르면 "action=Delete"가 "actions.php"로 전송됩니다.
이 네 가지 기능을 실행하기 위해 actions.php의 코드는 다음과 같습니다.
----- ------------------- ----- -----------
// 액션: 디렉토리 변경
if ($ action == " CWD")
{
// 특정 코드
}
// 작업: 파일 삭제
else if ($action == "Delete")
{
// 특정 코드
}
// 작업: 파일 다운로드
else if ($action == "Download")
{
// 특정 코드
}
// action : 파일 업로드
else if ($action == "Upload")
{
// 특정 코드
}
?> ---- --------------------------------- ---- -------------
위의 특정 코드는 지정된 기능을 구현하고 루프를 종료합니다. 다음 단계:
-- ---------------------------- --------- ---------------
FTP 서버에 접속하여 로그인합니다. 사용자 정의 기능
connect();
해당 디렉토리로 이동
선택한 기능 실행
목록을 새로 고쳐 변경 결과 확인
include(를 통해 파일 목록 및 제어 버튼 표시 "include.php")
연결 끊기
- ---------------------------------- --- ----------------
참고:
다음 함수는 다중 파일 작업을 지원합니다. 즉, "action=Delete" 및 "action=Download"는 FOR 루프를 사용하여 구현됩니다.
$cdir 및 $here 변수는 각 단계에서 실시간으로 업데이트됩니다.
이제 마침내 프로그램의 사용자 인터페이스를 설정하는 세 번째 파일인 include.php에 도달했습니다.
"include.php"에는 세 가지 형식이 포함되어 있으며, 현재 디렉터리 목록을 가져오고 이를 세 가지 변수
$files(현재 디렉터리의 파일 포함),
$file_sizes(해당 파일 크기)에 저장하는 일부 PHP 코드가 포함되어 있습니다. ),
및 $dirs(하위 디렉터리 이름 포함)
첫 번째 형식은 $dirs를 사용하여 "action=CWD"에 해당하는 드롭다운 디렉터리 목록을 생성합니다.
두 번째 양식은 $files $file_sizes를 사용하여 사용 가능한 파일 목록을 생성하며 각 파일은 확인란을 사용합니다. 이 양식의 동작은 "action=Delete" 및 "action=Download"에 해당합니다.
세 번째 양식은 다음과 같이 FTP 사이트에 파일을 업로드하는 데 사용됩니다.
--------- --- ---------------------------------- --- ------------------
.
<입력 유형=파일 이름=upfile>
...
--- ---------------------------------- --- --------
PHP가 이런 방식으로 파일 이름을 받으면 파일 크기, 임시 파일 이름, 파일 형식, 원본 파일 이름을 지정하는 여러 변수가 생성됩니다. 업로드되면 파일 이름은 $upfile에 저장됩니다(이 변수는 PHP 자체에서 생성됨)
이 정보를 사용하여 다음 명령문을 만들 수 있습니다.
------ ----- -------------------------------- ----- --------
ftp_put($result, $upfile_name, $upfile, FTP_BINARY)
------ --- --------------------- --- ----------

위의 내용을 포함해 PHP FTP 학습 3가지를 소개하고 있는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

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