
SplFileInfo 클래스의 getFilename() 메서드는 파일 이름을 추출하는 데 사용됩니다. 하지만, 이 메서드는 상대 경로를 사용할 때 파일 이름을 추출하지 못하는 이유는 다음과 같습니다.
- 상대 경로를 사용할 때, SplFileInfo 클래스는 파일 이름을 추출하는 데 사용되는 경로를 결정할 수 없습니다. 예를 들어, './file.txt'는 현재 디렉터리에서 'file.txt'라는 파일을 의미할 수 있지만, 다른 디렉터리에서 './file.txt'는 다른 파일을 의미할 수 있습니다.
- getFilename() 메서드는 파일 이름을 추출하는 데 사용되지만, 이 메서드는 파일의 절대 경로를 인식하지 못합니다. 따라서, 상대 경로를 사용할 때 파일 이름을 추출하지 못하는 것입니다.
반면, getRealPathname() 메서드는 절대 경로를 반환하는 메서드입니다. 이 메서드는 파일의 절대 경로를 인식할 수 있기 때문에, 상대 경로를 사용할 때도 파일 이름을 추출할 수 있습니다.
예를 들어, './file.txt'라는 상대 경로를 사용할 때, getFilename() 메서드는 'file.txt'라는 파일 이름을 추출할 수 없지만, getRealPathname() 메서드는 절대 경로를 반환할 수 있습니다. 따라서, 이 메서드는 상대 경로를 사용할 때도 파일 이름을 추출할 수 있습니다.
결론적으로, getFilename() 메서드는 상대 경로를 사용할 때 파일 이름을 추출하지 못하는 이유는 파일 이름을 추출하는 데 사용되는 경로를 결정할 수 없기 때문입니다. 반면, getRealPathname() 메서드는 절대 경로를 반환하는 메서드이기 때문에, 상대 경로를 사용할 때도 파일 이름을 추출할 수 있습니다.
2025-04-05 06:06