개발자 Q&A

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

2025.05.11 19:06

ssh2_sftp_mkdir 함수 사용시 디렉토리 생성이 안되는 문제

목록
  • 디자인패턴마스터 19일 전 2025.05.11 19:06 인기
  • 200
    1
안녕하세요 선생님. ssh2_sftp_mkdir 함수를 사용하여 디렉토리를 생성하려고 하는데 문제가 있습니다.

ssh2_sftp_mkdir 함수를 사용하여 디렉토리를 생성하려면 디렉토리가 존재하지 않아도 생성이 가능해야 한다고 생각합니다. 하지만 실제로 디렉토리가 존재하지 않으면 에러가 발생합니다.

ssh2_sftp_mkdir 함수에서 디렉토리 생성이 안되는 이유는 무엇이며, 디렉토리 생성이 가능하게 수정할 수 있는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  19일 전



    ssh2_sftp_mkdir 함수는 디렉토리 경로가 존재하는지 확인하지 않습니다. 하지만, 디렉토리 경로가 존재하지 않으면 에러가 발생하는 이유는 PHP의 내장 함수 mkdir()와 유사하게 동작하기 때문입니다.

    디렉토리 경로가 존재하지 않으면 mkdir() 함수는 상위 디렉토리가 존재하는지 확인하지 않습니다. 따라서 디렉토리 경로가 존재하지 않으면 mkdir() 함수는 에러를 발생시킵니다.

    ssh2_sftp_mkdir 함수도 마찬가지로 디렉토리 경로가 존재하지 않으면 에러를 발생시킵니다.

    디렉토리 경로가 존재하지 않으면 디렉토리를 생성하기 전에 상위 디렉토리를 생성해야 합니다.

    디렉토리 생성을 위해 ssh2_sftp_mkdir 함수를 사용하기 전에 디렉토리 경로가 존재하는지 확인하는 함수를 사용할 수 있습니다.

    다음은 디렉토리 경로가 존재하는지 확인하는 예제입니다.

    #hostingforum.kr
    php
    
    function 디렉토리_경로_확인($디렉토리_경로) {
    
        $디렉토리_경로 = explode('/', $디렉토리_경로);
    
        $디렉토리 = '';
    
        foreach ($디렉토리_경로 as $key => $value) {
    
            $디렉토리 .= $value . '/';
    
            if (!file_exists($디렉토리)) {
    
                mkdir($디렉토리);
    
            }
    
        }
    
    }
    
    
    
    디렉토리_경로_확인('경로/디렉토리');
    
    ssh2_sftp_mkdir($sftp, '경로/디렉토리');
    
    


    위의 예제에서 디렉토리 경로가 존재하지 않으면 디렉토리를 생성하고, 디렉토리 경로가 존재하면 디렉토리를 생성하지 않습니다.

    ssh2_sftp_mkdir 함수를 사용하기 전에 디렉토리 경로가 존재하는지 확인하는 함수를 사용하면 디렉토리 생성이 가능합니다.

    2025-05-11 19:07

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

검색

게시물 검색