
ssh2_sftp_rename 함수는 SFTP 서버에서 파일을 이동하거나 이름을 변경할 때 사용하는 함수입니다. 이 함수는 파일 이동 시 권한이 필요한 이유는 다음과 같습니다.
- SFTP 서버에서 파일을 이동하거나 이름을 변경하려면, 해당 파일에 대한 읽기 및 쓰기 권한이 필요합니다.
- 만약 파일에 대한 읽기 권한만 가지고 있다면, ssh2_sftp_rename 함수는 Permission denied 오류를 발생시킵니다.
이러한 오류를 해결하는 방법은 다음과 같습니다.
1. SFTP 서버에 대한 읽기 및 쓰기 권한을 부여합니다.
2. ssh2_sftp_rename 함수를 사용할 때, 파일의 경로와 이름을 정확하게 지정합니다.
3. 파일 이동 시, 이전 파일을 삭제하지 않고 새로운 파일 이름으로 이동합니다.
예를 들어, 다음 코드는 SFTP 서버에 있는 파일을 이동하는 예시입니다.
#hostingforum.kr
php
$sftp = ssh2_connect('example.com', 22);
ssh2_auth_password($sftp, 'username', 'password');
$sftpStream = ssh2_sftp($sftp);
$oldPath = '/remote/path/oldfile.txt';
$newPath = '/remote/path/newfile.txt';
if (ssh2_sftp_rename($sftpStream, $oldPath, $newPath)) {
echo "파일 이동 성공n";
} else {
echo "파일 이동 실패n";
}
이 코드는 SFTP 서버에 있는 oldfile.txt 파일을 newfile.txt로 이동하는 예시입니다. ssh2_sftp_rename 함수를 사용할 때, 파일의 경로와 이름을 정확하게 지정해야 합니다.
2025-06-14 12:08