>백엔드 개발 >PHP 튜토리얼 >PHP FTP 원격 업로드 파일 클래스

PHP FTP 원격 업로드 파일 클래스

巴扎黑
巴扎黑원래의
2016-11-22 16:16:581128검색

/**
* 기능: FTP 작업(파일 복사, 이동, 삭제/디렉터리 생성)
* 파일 원격 업로드
* 시간: 2011216
* 작성자: Liu Meng
*
*/
class class_ftp
{
public $off // 작업 상태 반환(성공/실패)
public $conn_id ; // FTP 연결

/**
* 방법: FTP 연결
* @FTP_HOST -- FTP 호스트
* @FTP_PORT -- 포트
* @FTP_USER -- 사용자 이름
* @FTP_PASS -- 비밀번호
*/
function __construct($FTP_HOST,$FTP_PORT,$FTP_USER,$FTP_PASS)
{
$this->conn_id = @ftp_connect($FTP_HOST,$FTP_PORT) or die("FTP 서버 연결 실패")
@ftp_login($this->conn_id,$FTP_USER,$FTP_PASS) or die("FTP 서버 로그인 실패") ;
@ftp_pasv($this->conn_id,1); // 패시브 시뮬레이션 켜기
}

/**
* 방법: 파일 업로드
* @path -- 로컬 경로
* @newpath -- 업로드 경로
* @type -- 대상 디렉터리가 없으면 새 디렉터리를 만듭니다.
*/
function up_file($path, $ newpath,$type=false)
{

if($type) $this->dir_mkdirs($newpath)
$thisds->off = @ftp_put($this- > ;conn_id,$newpath,$path,FTP_BINARY)
if(!$this->off) echo "파일 업로드에 실패했습니다. 권한과 경로가 올바른지 확인하세요!"; >
/**
* 방법: 파일 이동
* @path -- 원래 경로
* @newpath -- 새 경로
* @type -- 대상 디렉터리가 없으면 새 디렉터리를 만듭니다.
*/
function move_file($path,$newpath,$type=true)
{
if($type) $this->dir_mkdirs($newpath );
          $this->off = @ftp_rename($this->conn_id,$path,$newpath); ";
}

/**
* 방법: 파일 복사
* 참고: FTP에는 복사 명령이 없으므로 이 방법의 대체 작업은 다운로드한 다음 새 경로에 업로드하는 것입니다.
* @path -- 원래 경로
* @newpath -- 새 경로
* @type -- 대상 디렉터리가 없으면 새 경로를 만듭니다.
*/
function copy_file($path,$newpath,$type=true)
{
$downpath = "c: /tmp.dat";
$this->off = @ftp_get($this->conn_id,$downpath,$path,FTP_BINARY);// 다운로드
if(!$this->off ) echo "파일 복사에 실패했습니다. 권한과 원본 경로가 올바른지 확인하세요! ";
$this->up_file($downpath,$newpath,$type);
}

/**
* 방법: 파일 삭제
* @path -- 경로
*/
함수 del_file($path)
{
$this->off = @ftp_delete($this->conn_id,$path);
if(!$this->off) echo "파일 삭제에 실패했습니다. 권한을 확인하고 경로가 맞나요? ";
}

/**
* 방법: 디렉터리 생성
* @path -- 경로
*/
function dir_mkdirs($path)
{ >        $path_div = count($path_arr); // 레이어 수 가져오기

                                                  ~                                 conn_id,$val) == FALSE) >                 > 에코 "만드는 중 실패했습니다. 권한과 경로가 올바른지 확인하세요!";
종료;
}
@FTP_CHDIR ($ this- & gt; conn_id, $ value);
}
}
for($i=1;$i<=$path_div;$i++) // 루트로 돌아갑니다
🎜> }

/**
* 방법: FTP 접속 종료
*/
함수 닫기 ()
{
@ftp_close($this->conn_id)
}
}
?>
//사용 방법
$ftp = new class_ftp ('172.15.0.46',21,'zengzhi','aipu2010')
$ftp->up_file($ _FILES['Game_src']['tmp_name'],'/G/'.$_FILES[ 'Game_src']['이름']);
$ftp->close();
$src_img= 'http://172.15.0.46/G/'.$_FILES['Game_src'][ '이름'];

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