PHP를 사용하여 FTP 서버의 모든 파일을 나열하려고합니다. RFC 959에 따르면 FTP 명령 LIST
은 사람이 읽을 수있는 임의의 정보를 파일/폴더에 인쇄 할 수 있으므로 파일 형식을 올바르게 판별 할 수없는 것으로 보입니다. 그러나 다른 FTP 클라이언트가 파일과 폴더를 구별하기 위해 어떻게 관리합니까? 씌어지지 않은 표준이 있습니까?FTP 서버의 파일과 폴더를 구별하는 방법
답변
마침내 원하는 동작을 구현하는 FTP 프로토콜의 확장이 발견되었습니다. 명령은 MLSD라고하며 page 23 of RFC 3659에서 찾을 수 있습니다. 기본값으로 사용하고 의 출력을 마치 ls -l
에 의해 반환 된 것처럼 구문 분석하려고합니다.
많은 생각이 ftp 서버에 달려 있습니다. prgrm1.c 파일 인 반면,
drwxr-xr-x 2 5609 1510 1896 Oct 31 2007 practice
-rw-r--r-- 1 5609 1510 646 Feb 08 2009 prgrm1.c
명확하게 연습을하는 디렉토리입니다 것을 보여줍니다는 FTP 서버는 주위에 내 대학에서 다음과 같은 형식의 출력에 "LS"명령을 제공합니다.
ftp_rawlist()을 사용할 수 있습니다. (가) "D"로 시작하는 항목을 얻을 예를 들어
$ftp_server="someserver";
$ftp_user_name="someuser";
$ftp_user_pass="somepassword";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
$buff = ftp_rawlist($conn_id, '/');
$dirs = preg_grep("/^d/",$buff);
print_r($dirs);
}
왜 파일/경로에 CD
하지 (디렉토리 수단)? 오류가 발생하면 파일입니다.
... 디렉토리가 아닌 경우 입력 권한이 없습니다. – jpalecek
그러면 응답에 대한 자세한 검사가 순서대로 이루어집니다. – stillstanding
- 1. cURL을 사용하여 파일과 폴더를 결정하십시오.
- 2. RADIUS 서버의 초기 액세스 요청을 구별하는 방법
- 3. ftp get 후 파일 크기를 서버의 원본 파일과 비교하십시오.
- 4. FTP 연결로 서버의 폴더 삭제
- 5. FTP 서버의 파일 수정
- 6. ftp 서버의 URI 문제
- 7. 캐시의 파일과 서버의 파일을 비교하는 방법
- 8. 얻는 방법 : FTP 서버의 시간대 설정?
- 9. 인기있는 소스 제어 시스템이 바이너리 파일과 텍스트 파일을 구별하는 방법
- 10. FTP 서버의 온라인 상태 보고서?
- 11. 로컬 폴더를 기반으로 최신 FTP 폴더를 지속적으로 유지
- 12. FTP 클라이언트 - 잘못된 파일/폴더 FTP 서버의 목록
- 13. 디렉터리 계층 구조에서 각 파일과 폴더를 출력하는 방법
- 14. svn-controlled 폴더에서 파일과 폴더를 무시합니까?
- 15. XMLDocument에서 구별하는 방법
- 16. 구별하는 방법을 방법
- 17. 총 사령관이 ftp 업로드시 svn 폴더를 무시합니다.
- 18. 내가 ftp 때 서버의 루트를 어떻게 지정합니까?
- 19. UNIX 서버의 SSIS FTP 작업 문제
- 20. Apache 서버의 일부 폴더를 기본 폴더로 설정
- 21. 끈적 거리는 버그를 구별하는 방법
- 22. Grails의를 구별하는 방법 URL 매핑
- 23. NTFS로 폴더와 파일을 구별하는 방법
- 24. FTP 다운로드 디렉토리 C++
- 25. 파이썬으로 ftp 폴더 트래킹
- 26. lftp를 사용하여 로컬 폴더와 ftp 폴더를 동기화하는 구문은 무엇입니까?
- 27. SVN FTP 여러 FTP 계정으로 업로드
- 28. 파일과 폴더를 인자로 사용하여 bash에서 Automator 액션을 작성하려면 어떻게해야합니까?
- 29. 많은 파일과 하위 폴더를 C# 및 스레드로 삭제하십시오.
- 30. 곰 끌로 내 컴퓨터의 파일과 폴더를 루비로 검색하기
보장 되나요? 폴더 인 경우 서버가't'를 첫 번째 문자로 자유롭게 인쇄 할 수 있습니까? 아니면 RFC에 언급되지 않은 채로이 '표준'이 수립 되었습니까? – soulmerge
AFAIK this (UNIX ls -l의 출력)는 "사실상"표준입니다. – jpalecek