Skip to content
조회 수 32741 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

PHP로 FTP 접속 / 업로드 / 다운로드 등의 컨트롤 소스

PHPSCHOOL의  pspn님이 쓴 글입니다.

처음 으로 클래스라는 것을 만들어 보았습니다.
처음 만든거라 문법이라든지 효율성 기타 여러가지 이상한 부분이 많을 거라 생각이 들어
여러분들의 도움을 얻고자 올립니다. 수정할 부분과 많은 조언 부탁드립니다.
이상하게 만들었다 욕하지 마시고 도움을 부탁드립니다. 감사합니다.

class Ftp_control {
    //멤버 변수 선언 부
    var $FHost;                    #접속 HOST
    var $FUser;                    #접속 ID
    var $FPasswd;                #접속 패스워드
    var $Server_port = "21";    #FTP 포터
    var $Fconnect;                #FTP stream
    var $local_file;
    var $remote_file;
    var $del_file;
    var $del_dir;
    var $make_dir;
    var $dir_per;
    var $read_dir;
    var $file_list = array();
    function Ftp_control($FHost,$FUser,$FPasswd,$Server_port) {
        if(!$FHost || !$FUser || !$FPasswd || !$FPasswd) {
            $msg = "Connect Infomation Fail";
            $this -> setError($msg);
        }
        else {
            if(!($connect = ftp_connect($FHost, $server_port))) $this -> setError("NO Search HOST"); 
            if(!ftp_login($connect, $FUser, $FPasswd)) $this -> setError("Login Information Not agree");
            $this->Fconnect = $connect;
        }
    }

    function upload_file() {
        $fp = $this->Fconnect;
        $ref = $this->remote_file;
        $lof = $this->local_file;
        
        if(!$fp || !$ref || !$lof) $this -> setError("업로드할 파일 정보가 전송되지 않았습니다. ");
        if(!ftp_put($fp,$ref ,$lof ,FTP_BINARY )) $this -> setError("FTP 파일전송중 에러가 발생 했습니다.");
    }

    function download_file() {
        $fp = $this -> Fconnect;
        $ref = $this -> remote_file;
        $lof = $this -> local_file;
        if(!ftp_get($fp,$lof,$ref,FTP_BINARY)) $this -> setError("FTP 파일다운로드중 에러가 발생 했습니다");
    }
    
    function delete_file() {
        $fp = $this -> Fconnect;
        $del = $this -> del_file;
        if(!$fp || !$del) $this -> setError("삭제할 파일 정보가 전송되지 않았습니다.");
        if(!ftp_delete($fp,$del)) $this -> setError("파일삭제중 오류가 발생 했습니다.");
    }
    
    function delete_dir() {
        $fp = $this -> Fconnect;
        
        //$fdir = $this -> del_dir;
        //if(!($dfileList = ftp_nlist($fp,$fdir))) $this -> setError("삭제할 디렉토리가 존재 하지 않습니다.");
        $this -> file_directory();
        $dfileList = $this -> file_list;
        while(list($k,$v) = each($dfileList)) {
            if(!ftp_delete($fp,$v)) $this -> setError("디렉토리 파일 삭제 오류");
        }
        if(!ftp_rmdir($fp,$fdir)) $this -> setError("디렉토리 삭제 오류");
    }

    function make_directory() {
        $fp = $this -> Fconnect;
        $mdir = $this -> make_dir;
        $per = $this -> dir_per;
        if(!ftp_mkdir($fp,$mdir)) $this -> setError("디렉토리 생성 오류");
        //if(!ftp_site($fp, "chown nobody.nobody $mdir")) $this -> setError("소유권 변경 오류");
        if(!ftp_site($fp, "chmod $per $mdir")) $this -> setError("퍼미션 변경 오류");
    }
    
    function file_directory() {
        $fp = $this -> Fconnect;
        $rdir = $this -> read_dir;
        if(!($dfileList = ftp_nlist($fp,$rdir))) $this -> setError("디렉토리 출력 오류");
        $this -> file_list = $dfileList;
    }

    function closeFtp() {
        ftp_quit($this->Fconnect);
    }

    function setError($msg) {
        echo "FTP Error : ".$msg."<br>";
        exit;
    }
}




로그인 후 댓글쓰기가 가능합니다.

?
  • ?
    2009.10.20 13:07

    링크금지된 이미지 가져오기

    http://marcus.tistory.com/36

  • ?
    정아 2009.11.26 19:30

     

    그냥 지나치긴 뭐해서~~

    한줄 남기고 가려구요...내용 잘 보고갑니다^^

     

     

     

     

     

     

    수고하세요^^

    지금 이시간에도 분명이 준비를 하고있는 또 다른 업체들이 있을정도로^^

    대한민국에 수백개의 웨파드, p2p 공유 업체들이 있는 가운데~~

    제가 직접 사용해보고 웹서핑을 통해서 얻은 결과입니다^^

    각 회사별로 조금씩은 다른 서비스로 경쟁을 하고있는데...

    아래 조건에 맞는곳이 있다면 어디라도 상관없습니다.

    제가 열거해놓은 곳 전부다~~100% 단순가입에 100% 기본포인트 주는곳이니

    절대 부담같은거 갖지않으셔도 됩니다.

    항상 건강을 생각하시고 오늘도 즐거운 하루되세요^^

    혹시라도 이 글이 잘못되서 바로가기가 되지않으시면 복사하신다음 주소창에 넣으시면

    같은 방법으로 추가포인트 받을 수 있습니다.

    지오파일 남다른혜택!! 기본 추가포인트 바로받기

    지오파일:http://ziofile.comenaver.com

    슈퍼다I운 속도도슈퍼!! 자료도슈퍼!! 포인트받기

    슈퍼다I운:http://superdown.comenaver.com

    쉐어박스 No.1 컨텐트거래소 추가포인트 바로받기

    쉐어박스:http://sharebox.comenaver.com

    제트파일 즐거운 컨텐츠세상 추가포인트 바로받기

    제트파일:http://zfile.comenaver.com

    점프디스크 원더플 컨텐츠 기본 추가포인트 바로받기

    점프디스크:http://jumpdisk.comenaver.com

    F디스크:에프디스크[F디스크] 가장빠른 컨텐츠거래소
    에프디스크:http://fdisk.comenaver.com

    하이디스크 초고속 컨텐츠거래소 포인트 바로받기
    하이디스크:http://hidisk.comenaver.com

    K디스크:케이디스크[K디스크] 대한민국 No.1 컨텐츠거래소
    케이디스크:http://kdisk.comenaver.com

    온디스크 파워플컨텐츠 추가포인트 바로받기
    온디스크:http://ondisk.comenaver.com

    와우디스크 최고의 컨텐츠 다I운로드 포인트 받기
    와우디스크:http://wowdisk.comenaver.com

    다I운즈 고품격 컨텐츠거래소 추가포인트 바로받기
    다I운즈:http://downs.comenaver.com

    모모디스크 초고속 컨텐츠 다I운로드 포인트받기

    모모디스크:http://momodisk.comenaver.com

    브이하드 즐거운 컨텐츠 기본 추가포인트 바로받기

    브이하드:http://vhard.comenaver.com

    지오파일 홈페이지 바로가세요:http://ziofilez.sm.to

    슈퍼다I운 홈페이지 바로사시시나:http://superdownz.sm.to

    쉐어박스 홈페이지 바로가삼:http://shareboxz.sm.to

    모모디스크 홈페이지 바로바로:http://momodiskz.sm.to

    브이하드 홈페이지 바로클릭:http://vhardz.sm.to

    제트파일 홈페이지 바로이동:http://zfilez.sm.to

    점프디스크 홈페이지 바로달리기:http://jumpdiskz.sm.to

    에프디스크 홈페이지 바로총알:http://fdiskz.sm.to

    F디스크 홈페이지 바로지급:http://fdisks.sm.to

    케이디스크 홈페이지 바로적립:http://kdiskz.sm.to

    K디스크 홈페이지 바로한방:http://kdiskss.sm.to

    하이디스크 홈페이지 바로콜:http://hidiskz.sm.to

    온디스크 홈페이지 바로직행:http://ondiskz.sm.to

    다I운즈 홈페이지 바로가시와요:http://downzz.sm.to

    와우디스크 홈페이지 바로가네요:http://wowdiskz.sm.to


http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소