.inc는 무엇이며 왜 사용합니까?


139

종종 PHP에서 include.inc 파일이 포함 된 예제를 볼 수 있습니다. .inc의 의미는 무엇입니까? 무엇을 위해 사용됩니까? 그것을 사용하는 단점과 장점은 무엇입니까?

답변:


268

의미가 없으며 파일 확장자 일뿐입니다. 파일이 다른 PHP 파일에 포함되도록 디자인 된 경우 확장자가 .inc 인 파일의 이름을 지정하는 것이 일부 관례이지만 관습 일뿐입니다.

서버가 일반적으로 .inc 파일을 php로 구문 분석하도록 구성되어 있지 않으므로 파일이 웹 루트에 있고 서버가 기본 방식으로 구성되어 있으면 사용자가 PHP 소스 코드를 볼 수 있다는 단점이 있습니다 URL을 직접 방문하여 .inc 파일

가능한 장점은 포함 된 파일을 쉽게 식별 할 수 있다는 것입니다. 단순히 .php 확장자를 부여하고 포함 폴더에 배치하면 위에서 언급 한 단점없이 동일한 효과가 있습니다.


8
@domanokz 예, 그러면 사용하는 것이 안전합니다. require또는 include구조 에서 사용될 때만 PHP로 취급되며 나머지 시간에는 일반 텍스트로 취급됩니다. 서버에서 텍스트로 취급해도 문제가되지는 않지만 코드가 최종 사용자에게 텍스트로 제공되는 경우에만 손상됩니다).
Paul

@Paulpro 나는이 fore를 오랫동안 궁금해하고 있었다, 이것을 명확히 해 주셔서 감사합니다!
RealDeal_EE'18

1
좋은 설명입니다. 방금 새 직장에서 시작하여 응용 프로그램 전체에서 이러한 문제가 발생하는 것을 보았습니다. 나는 그것이 전적으로 대회라는 것을 전혀 몰랐습니다. 감사!
Chev

4
서버가 .inc 파일을 php로 구문 분석하도록 구성되지 않은 경우. require / include의 다른 PHP 파일에서만 읽을 수 있으므로 실제로는 필요하지 않습니다. 안전합니까? Paulpro는 호기심 많은 최종 사용자가 코드를 읽는 것을 원하지 않으므로 최종 사용자가 Apache conf의 "RedirectMatch 403 /.*\.inc$"와 같은 파일을 검색 할 수 없도록 구성하려고합니다. htaccess
ClearCrescendo

참고 : .php및에 대한 것은 아닙니다 .inc. PHP는 다른 파일 형식과도 작동합니다. '.html', '.js', '.css', '.txt'또는 사용자 정의 파일 확장자를 포함하면 PHP 구문 분석에서 PHP 코드를 읽습니다. 파일 기반 데이터베이스를 작성하고 데이터베이스 파일인지 알려고 할 때 유용합니다. 처럼 .data. 그런 다음 위의 @ClearCrescendo의 주석을 사용하여 보안을 유지할 수 있습니다.
마르 세비야

71

출력이 아닌 파일의 컨텐츠가 제공되는 것이 걱정되는 경우. 다음과 같은 이중 확장을 사용할 수 있습니다 file.inc.php. 그런 다음 동일한 목적의 도움과 유지 관리 기능을 제공합니다.

일반적으로 내 사이트의 각 페이지마다 2 개의 PHP 파일이 있습니다.

  1. welcome.php모든 HTML 마크 업을 포함하는 루트 폴더에 이름이 지정된 것 .
  2. 그리고 페이지에 고유 한 모든 PHP 함수를 포함 welcome.inc.php하는 inc폴더에 또 다른 이름이 지정 됩니다 welcome.php.

편집 : 이중 확장 사용의 또 다른 이점은 .inc.php모든 IDE가 파일을 PHP 코드로 여전히 인식 할 수 있다는 것입니다.


4
+1 언급 할 가치가 있습니다. 저는 제 프로젝트 중 하나에서 그렇게했습니다.
dpp

17

일반적으로 파일이 포함되어야하고 독립형 스크립트를 작성하지 않는 파일을 의미합니다.

이것은 프로그래밍 기술이 아닌 관습입니다.

웹 서버가 올바르게 구성되지 않은 경우 확장자가 .inc 인 파일이 노출 될 수 있습니다.


12

개발자가 포함으로 사용될 파일을 쉽게 식별 할 수있는 방법 일뿐입니다. 인기있는 컨벤션입니다. 그것은 어떤없는 특별한 의미를 PHP로, 그리고 PHP의 행동이나 스크립트 자체를 변경하지 않습니다.


4

이것은 프로그래머가 일반적으로 포함 파일의 다른 파일 이름을 식별하는 데 사용하는 규칙입니다. 따라서 다른 개발자가 코드를 작성하는 경우 파일 이름 만보고이 파일이 존재하는 이유와이 파일의 목적을 쉽게 식별 할 수 있습니다.


3

추가하기 만하면됩니다. 또 다른 단점은 IDE에서 .inc 파일을 인식하지 못하므로 자동 완성 기능이나 코드 예측 기능을 활용할 수 없다는 것입니다.


2

내 생각에, 이것들은 개발할 때 포함 파일을 빨리 찾는 방법으로 사용되었습니다. 실제로 이들은 컨벤션 및 프레임 워크 디자인으로 더 이상 사용되지 않습니다.


이것은 의미없는 주석입니다. 나는 포함 파일에 항상 .inc를 사용합니다. 쉽고 부정적이지 않고 긍정적 만 있기 때문입니다. '컨벤션'이라는 용어는이 맥락에서 내가 알고있는 것을 의미하지 않습니다. 그리고 PHP 프레임 워크는, 결코 그들 자신을 건드리지 않습니다. 코드를 작성하기 때문에 'frameworks'가 PHP 코딩을 대체한다는 개념은 잘못되었습니다. 원하는 경우 물건을 사용하는 데 아무런 문제가 없지만 코드 편집기에서 표준 프로그래밍으로 대체되었다고 믿는 것은 잘못입니다.
Lizardx

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.