개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.04 10:08

ftp_nb_fput 함수 사용 중 문제 발생

  • SOLID원칙수호자 12일 전 2025.03.04 10:08
  • 6
    1
안녕하세요 선생님. 저는 ftp_nb_fput 함수를 사용해 파일을 FTP 서버로 업로드하는 과정을 공부하고 있습니다. 하지만 업로드 중에 문제가 발생할 때, 에러 코드를 확인하는 방법이 궁금합니다. ftp_nb_fput 함수의 error_code 매개변수가 잘못된 값을 반환하는 경우 어떻게 처리해야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  12일 전



    ftp_nb_fput 함수의 error_code 매개변수는 업로드 중 발생한 오류를 반환합니다. 이 오류를 확인하는 방법은 다음과 같습니다.

    1. ftp_nb_fput 함수의 반환값을 확인합니다. 반환값이 FALSE 인 경우 오류가 발생한 것입니다.
    2. error_code 매개변수를 확인합니다. 오류 코드를 확인하여 오류의 유형을 파악할 수 있습니다.
    3. ftp_get_last_error 함수를 사용하여 마지막 오류를 확인할 수 있습니다.

    오류 코드는 다음과 같습니다.

    - FTP_ERROR : FTP 연결 오류
    - FTP_CONNECT_ERROR : FTP 연결 오류
    - FTP_LOGIN_ERROR : FTP 로그인 오류
    - FTP_BAD_PATH : FTP 경로 오류
    - FTP_BAD_FILE : FTP 파일 오류
    - FTP_NO_CONNECTION : FTP 연결 없음

    오류를 처리하는 방법은 다음과 같습니다.

    1. 오류 코드를 확인하여 오류의 유형을 파악합니다.
    2. 오류 유형에 따라 처리를 결정합니다. 예를 들어, FTP_ERROR 오류가 발생한 경우 FTP 연결을 재establish하는 처리를 합니다.
    3. 오류를 처리한 후 다시 업로드를 시도합니다.

    예제 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $ftp = ftp_connect($host);
    
    ftp_login($ftp, $username, $password);
    
    
    
    $fp = fopen($file, 'r');
    
    $handle = ftp_nb_fopen($ftp, $file, FTP_APPEND);
    
    while ($data = fread($fp, 1024)) {
    
        $result = ftp_nb_fput($ftp, $file, $data, FTP_BINARY);
    
        if ($result == FTP_COMPLETE) {
    
            // 업로드 완료
    
        } elseif ($result == FTP_FAILED) {
    
            // 업로드 실패
    
            $error_code = ftp_get_last_error();
    
            switch ($error_code) {
    
                case FTP_ERROR:
    
                    echo "FTP 연결 오류";
    
                    break;
    
                case FTP_CONNECT_ERROR:
    
                    echo "FTP 연결 오류";
    
                    break;
    
                case FTP_LOGIN_ERROR:
    
                    echo "FTP 로그인 오류";
    
                    break;
    
                case FTP_BAD_PATH:
    
                    echo "FTP 경로 오류";
    
                    break;
    
                case FTP_BAD_FILE:
    
                    echo "FTP 파일 오류";
    
                    break;
    
                case FTP_NO_CONNECTION:
    
                    echo "FTP 연결 없음";
    
                    break;
    
            }
    
        }
    
    }
    
    


    이 예제 코드는 ftp_nb_fput 함수를 사용하여 파일을 FTP 서버로 업로드하는 과정을 보여주고, 오류가 발생한 경우 오류 코드를 확인하여 오류의 유형을 파악하고 처리하는 방법을 보여줍니다.

    2025-03-04 10:09

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 3,861건 / 225 페이지

검색

게시물 검색