파일이 있는지 (절대 경로 또는 상대 경로를 사용하여) 존재하는지 확인하는 방법이 있습니까? PHP를 사용하고 있습니다. 나는 두 가지 방법을 찾았지 만 둘 중 하나만 받아 들일 수도 있습니다. 감사.절대 경로와 상대 경로가있는 파일이 있는지 확인하십시오.
9
A
답변
25
file_exists($file);
트릭을 수행하면 문서 루트에 상대적으로 검사 할 경우이 작동합니다 (같은 검증되지 않은) 상대 및 절대 경로 뭔가 둘을하는 함수를 원한다면 당신은 file_exists("{$_SERVER['DOCUMENT_ROOT']}path");
을 시도 할 수 상대 경로와 절대 경로 모두.
그러나 더 유용한 방법은 하드 코딩하지 않고 절대 경로를 사용하는 것입니다. 이를 수행하는 가장 좋은 방법은 dirname(__FILE__)
을 사용하여 현재 파일의 디렉토리 전체 경로를 Windows 형식의 ether 유닉스로 가져 오는 것입니다. 그런 다음 파일이 존재하지 않으면 false를 반환하는 realpath()
을 편리하게 사용합니다. 당신이해야 할 모든 해당 파일의 디렉토리에서 상대 경로를 지정하고 모두 함께 넣어된다
$path = dirname(__FILE__) . '/include.php';
if (realpath($path)) {
include($path);
}
3
file_exists($path)
은 스크립트 위치에 대한 절대 경로 또는 상대 경로를 확인합니다.
function check_file($path) {
return (file_exists($path) || file_exists("{$_SERVER['DOCUMENT_ROOT']}path"));
}
4
당신은 주어진 경로에 파일이 존재하는지 확인하고 해당 파일에 대한 확장 된 경로를 검색 할 수
realpath
을 사용할 수 있습니다
:
$absPath = realpath($path);
if ($absPath === false) {
// invalid path
}
관련 문제
- 1. 상대 경로와 절대 경로를 이해하십시오.
- 2. ASP.NET : 상대 경로가있는 Path.Combine
- 3. 상대 경로가있는 dlopen 오류
- 4. 절대 경로가있는 PHP file_put_contents?
- 5. 파일이 열려 있는지 확인하십시오.
- 6. 텍스트 파일이 있는지 확인하십시오.
- 7. 절대 경로가있는 Apache ErrorDocument
- 8. 파일을 작성하고 파일이 있는지 확인하십시오.
- 9. 웹 사이트에 파일이 있는지 확인하십시오.
- 10. 원격 컴퓨터에 파일이 있는지 확인하십시오.
- 11. hadoop- 파일이 쓰여지고 있는지 확인하십시오.
- 12. VB에서 폴더가 있는지 확인하여 파일이 있는지 확인하십시오.
- 13. 파일이 있는지 확인하십시오. 원본 경로로 돌아 가기
- 14. StreamWriter가 상대 경로와 일관되게 작동하지 않습니까?
- 15. JasperReports를 상대 경로와 함께 사용하기
- 16. 파일이 어떤 물리적 하드 드라이브에 있는지 확인하십시오.
- 17. 부분 이름 만있는 디렉토리에 파일이 있는지 확인하십시오.
- 18. 자바 스크립트 파일이 이미 페이지에로드되어 있는지 확인하십시오.
- 19. android : 응용 프로그램에 파일이 있는지 확인하십시오.
- 20. php - network/lan에있는 폴더에 파일이 있는지 확인하십시오.
- 21. bash : scp를 사용하여 원격 파일이 있는지 확인하십시오.
- 22. php - 서버에 세션 파일이 있는지 확인하십시오.
- 23. Python과 Excel - 파일이 열려 있는지 확인하십시오.
- 24. RewriteCond 하위 디렉토리에 파일이 있는지 확인하십시오.
- 25. 상대 v 절대 경로?
- 26. 고정 경로와 상대 경로의 차이점은 무엇입니까?
- 27. 웹 사이트의 js 파일에 절대 경로가있는 문제
- 28. asp.net의 System.file.io에서 상대 경로와 관련된 문제가 발생했습니다.
- 29. 상대 주소 및 절대 주소
- 30. 실적 : 절대 URL과 상대 URL
대체 파일에 대한 원격 URL에서 문서 루트 검사에 파일이없는 경우이 논리를 잊어 버렸습니다. 나는 아프다 롭의 대답을 시도해보십시오. 덕분에 – uji