먼저 FTP_NLIST 의 작동 방식을 이해하는 것이 중요합니다. 이 기능은 FTP 프로토콜을 통해 지정된 디렉토리 목록으로 서버를 요청하고 결과를 배열로 반환합니다. 숨겨진 파일의 경우 FTP_NLIST는 DOTS ( . )로 시작하는 파일을 자동으로 제외하지 않습니다. 즉, FTP 서버 구성 또는 특정 디렉토리에서 이러한 파일을 사용할 수 없다면 숨겨진 파일은 반환 된 파일 목록에 나타납니다.
서버에서 반환 된 파일 목록을 수동으로 확인하여 확인할 수 있습니다. 많은 UNIX 기반 시스템에서 숨겨진 파일은 일반적으로 DOTS ( . )로 시작하며 .gitignore 또는 .bashrc 와 같은 파일은이 범주에 속합니다.
$ftp_connection = ftp_connect("ftp.m66.net");
ftp_login($ftp_connection, "username", "password");
$file_list = ftp_nlist($ftp_connection, "/path/to/directory");
print_r($file_list);
위 코드로 반환 된 $ file_list 배열에서 디렉토리에 점으로 시작하는 파일이 있으면 나열됩니다.
ftp_nlist 에서 반환 한 파일 목록에 숨겨진 파일이 포함될 수 있으므로 파일이 어떤 식 으로든 숨겨진 파일인지 확인해야합니다. 가장 직접적인 방법은 파일 이름이 점 ( . )으로 시작하는지 확인하는 것입니다.
foreach ($file_list as $file) {
if (strpos($file, '.') === 0) {
echo $file . " 숨겨진 파일입니다\n";
} else {
echo $file . " 不숨겨진 파일입니다\n";
}
}
위의 코드는 파일 이름의 첫 번째 문자가 점 번호인지 확인하여 파일이 숨겨진 파일인지를 결정합니다. 파일 이름이 점으로 시작되면 숨겨진 파일로 간주됩니다.
숨겨진 파일을 필터링하려면 파일 목록을 가져온 후에는 추가 처리 할 수 있으며 숨겨진 파일이 아닌 항목 만 남겨 둘 수 있습니다. 예를 들어:
$visible_files = array_filter($file_list, function ($file) {
return strpos($file, '.') !== 0; // 도트로 시작하는 파일을 필터링하십시오
});
print_r($visible_files);
이러한 방식으로, 반환 된 파일 목록에 공개 파일 목록을 표시 해야하는 시나리오에 적합한 숨겨진 파일이 포함되어 있지 않은지 확인할 수 있습니다.
기본적으로 FTP_NLIST 가 반환 한 파일 목록에는 HIDDEN 파일에는 HIDDEN 파일이 포함됩니다. 특히 UNIX 및 UNIX와 같은 시스템에 숨겨진 파일이 포함됩니다. 여기서 숨겨진 파일은 점으로 시작됩니다. 파일이 숨겨져 있는지 확인하려면 파일 이름이 점으로 시작되는지 확인할 수 있습니다. 숨겨진 파일을 필터링 해야하는 경우 Array_Filter 기능을 사용하여 처리하여 숨겨진 파일이 아닌 항목을 유지할 수 있습니다.