
SplFileInfo 클래스의 getFilename 메소드는 PHP 8.1 버전에서 파일 경로를 포함한 파일 이름을 반환합니다.
이유는 PHP 8.1 버전에서 getFilename 메소드가 변경되었기 때문입니다. 이전 버전에서는 파일 이름만 반환했지만, 현재 버전에서는 파일 경로를 포함한 파일 이름을 반환합니다.
이 문제를 해결하기 위한 방법은 다음과 같습니다.
1. getFilename 메소드 대신 getPathname 메소드를 사용하세요. getPathname 메소드는 파일 경로를 반환합니다.
2. getFilename 메소드의 반환 값을 필터링하세요. 예를 들어, substr 함수를 사용하여 파일 경로를 제거할 수 있습니다.
3. SplFileInfo 클래스의 버전을 확인하세요. 이전 버전의 SplFileInfo 클래스에서는 getFilename 메소드가 파일 이름만 반환합니다.
예를 들어, 다음 코드에서는 getPathname 메소드를 사용하여 파일 경로를 반환합니다.
#hostingforum.kr
php
$file = new SplFileInfo('path/to/file.txt');
echo $file->getPathname(); // path/to/file.txt
또한, 다음 코드에서는 getFilename 메소드의 반환 값을 필터링하여 파일 경로를 제거합니다.
#hostingforum.kr
php
$file = new SplFileInfo('path/to/file.txt');
echo substr($file->getFilename(), strrpos($file->getFilename(), '/') + 1); // file.txt
2025-05-03 08:41