사용 예시:upload.phprun()) { echo "업로드 실패".$upload->errmsg(); }}?>파일 업로드업로드 클래스 upload.class.php'이 형식 파일 을 업로드 할 수 없습니다', 2=>'디 렉 터 리 쓰기 불가', 3=>'파일 이 이미 존재 합 니 다', 4=>'이름 모 를 오류', 5=>'파일 이 너무 커 요' );/*** 목적*파일 업로드**예* $fileArr['file'] = $file; $fileArr['name'] = $file_name; $fileArr['size'] = $file_size; $fileArr['type'] = $file_type; // 업로드 할 수 있 는 파일 형식 $filetypes = array('gif','jpg','jpge','png'); // 파일 업로드 디 렉 터 리 $savepath = "/usr/htdocs/upload/"; // 최대 제한 없 음 0 무제 한 $maxsize = 0; // 덮어 쓰기 0 허용 되 지 않 음 허락 하 다 $overwrite = 0; $upload = new upload($fileArr, $file_name, $savepath, $filetypes, $overwrite, $maxsize); if (!$upload->run()) { echo $upload->errmsg(); }** @author whxbb([email protected])* @version 0.1*/class upload{ var $file; var $file_name; var $file_size; var $file_type; /** 저장 이름*/ var $savename; /** 경로 저장*/ var $savepath; /** 파일 형식 한정*/ var $fileformat = array(); /** 덮어 쓰기 모드*/ var $overwrite = 0; /** 파일 최대 바이트*/ var $maxsize = 0; /** 파일 확장자*/ var $ext; /** 오류 코드*/ var $errno; /** * 구조 함수 * @param$fileArr 파일 정보 배열'file'임시 파일 이 있 는 경로 및 파일 이름 'name'파일 이름 업로드 '크기'업로드 파일 크기 'type'업로드 파일 형식 * @param savename 파일 저장 이름 * @param savepath 파일 저장 경로 * @param fileformat 파일 형식 제한 배열 * @param overwriet 덮어 쓰기 1 허용 덮어 쓰기 0 금지 * @param maxsize 파일 최대 크기 */ function upload($fileArr, $savename, $savepath, $fileformat, $overwrite = 0, $maxsize = 0) { $this->file = $fileArr['file']; $this->file_name = $fileArr['name']; $this->file_size = $fileArr['size']; $this->file_type = $fileArr['type']; $this->get_ext(); $this->set_savepath($savepath); $this->set_fileformat($fileformat); $this->set_overwrite($overwrite); $this->set_savename($savename); $this->set_maxsize($maxsize); } /** 업로드 */ function run() { /** 파일 형식 검사*/ if (!$this->validate_format()) { $this->errno = 1; return false; } /** 디 렉 터 리 를 쓸 수 있 는 지 확인*/ if(!@is_writable($this->savepath)) { $this->errno = 2; return false; } /** 덮어 쓰 기 를 허용 하지 않 으 면 파일 이 존재 하 는 지 확인*/ if($this->overwrite == 0 && @file_exists($this->savepath.$this->savename)) { $this->errno = 3; return false; } /** 크기 제한 이 있 으 면 파일 이 제한 을 초과 하 는 지 확인*/ if ($this->maxsize != 0 ) { if ($this->file_size > $this->maxsize) { $this->errno = 5; return false; } } /** 파일 업로드*/ if(!@copy($this->file, $this->savepath.$this->savename)) { $this->errno = 4; return false; } /** 임시 파일 삭제*/ $this->destory(); return true; } /** * 파일 형식 검사 * @access protect */ function validate_format() { if (!is_array($this->fileformat)) // 형식 제한 없 음 return true; $ext = strtolower($this->ext); reset($this->fileformat); while(list($var, $key) = each($this->fileformat)) { if (strtolower($key) == $ext) return true; } reset($this->fileformat); return false; } /** * 파일 확장자 가 져 오기 * access public */ function get_ext() { $ext = explode(".", $this->file_name); $ext = $ext[count($ext) - 1]; $this->ext = $ext; } /** * 파일 업로드 최대 바이트 제한 설정 * @param$maxsize 파일 크기(바이트)0:무제 한 표시 * @access public */ function set_maxsize($maxsize) { $this->maxsize = $maxsize; } /** * 덮어 쓰기 모드 설정 * @param 덮어 쓰기 모드 1:덮어 쓰기 허용 0:덮어 쓰기 금지 * @access public */ function set_overwrite($overwrite) { $this->overwrite = $overwrite; } /** * 업로드 가능 한 파일 형식 설정 * @param$fileformat 에서 업로드 할 수 있 는 파일 확장자 그룹 * @access public */ function set_fileformat($fileformat) { $this->fileformat = $fileformat; } /** * 저장 경로 설정 * @param$savepath 파일 저장 경로:"/"로 끝 납 니 다. * @access public */ function set_savepath($savepath) { $this->savepath = $savepath; } /** * 파일 저장 이름 설정 * @savename 저장 이름 이 비어 있 으 면 시스템 에서 무 작위 파일 이름 을 자동 으로 생 성 합 니 다. * @access public */ function set_savename($savename) { if ($savename == '') // 파일 이름 이 설정 되 어 있 지 않 으 면 무 작위 파일 이름 을 생 성 합 니 다. { srand ((double) microtime() * 1000000); $rnd = rand(100,999); $name = date('Ymdhis') + $rnd; $name = $name.".".$this->ext; } else { $name = $savename; } $this->savename = $name; } /** * 파일 삭제 * @param$file 에서 삭제 할 파일 이름 * @access public */ function del($file) { if(!@unlink($file)) { $this->errno = 3; return false; } return true; } /** * 임시 파일 삭제 * @access proctect */ function destory() { $this->del($this->file); } /** * 오류 메시지 받 기 * @access public * @return error msg string or false */ function errmsg() { global $UPLOAD_CLASS_ERROR; if ($this->errno == 0) return false; else return $UPLOAD_CLASS_ERROR[$this->errno]; }}?>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: