php 공백/오류에 대해서
본문
예전에 한번 질문했던 부분인데요
정확히 이해가 가질 않아서 다시금 질문드립니다
제가 예전에 캡챠오류가 났었는데
extend 파일을 새로 깔았더니 오류가 사라졌는데요
자주하는 질문 코너 글중 일부인데요
에디터 화면에서는 보이지 않지만 include 된 파일에 공백이 숨어 있는 경우에 이미지가 나타나지 않을수 있습니다.
common.php 하단에 보면 header~~~라는 코드가 나옵니다
이 header 이전에 include 되는 화일 중에 echo 문이나
<?php ~~ ?><------ php시작 , 끝 외부에 다른 출력이 있으면 안됩니다(공백 포함)
common.php에서 include 로 검색하면 나오는 화일들 및 extend 화일들만 주의\\
저 그림처럼 연두색 공간이 있으면 안된다는건가여?
문장 앞과 뒤에 공백이 있으면 안된다는게 정확히 이해가 안갑니다
보통 한줄 띄고나서 그 다음 문장이 있지
전부다 붙여있진 않잖아요..
extend 파일하고 common.php에서 include 된 파일만 조심한다고 해도
이해는 해야될것 같아서요
저 파일들이 공백이 없는상태인건가여?
제눈에는 문장마다 한줄한줄 여백이 있어서요
이해가 안가서 그러는데 자세하게좀 부탁드릴게요
답변 4
Space 키를 한번 이상 눌렀을 때 생깁니다.
끝에 마우스 커서를 넣거나 드래그 해 보면, 그 차이를 알 수 있습니다.
그림상 소스는 일반적인 소스일뿐 ...
답변 주신분의 답변과 그림상의 소스처리는 별개라 생각이듭니다.
일반적인 사항에서는 공백이 들어가도 상관이 없습니다.
그누보드 구조상 어떠한 파일을 열더라도 항상 extend 된 부분은 모두 다 호출을 하게 되어 있습니다.
/plugin/kcaptcha/kcaptcha_image.php 에서 캡챠 이미지를 생성하게 되는데 위에 폴더내의 파일 내에서 공백으로 이미지 파일을 출력하지 못하는 문제입니다.
답변채택은 된 게시물이나 코멘트 해봅니다
<?php 상단에 공백이 존재하거나 ?> 하단에 공백이 존재할경우 php 코드는 그 공백을 출력합니다
일반적인 오류는 님이 말씀하신 header 오류입니다.. header 이전에 공백등의 문자열이 출력되면 안됩니다. 해서 탬플릿형이 아닌이상 <?php 는 최상단에 ?> 는 생략하는것이 php 쪽의 권고사항 입니다
의도하지 않은 출력으로인한 오류는 header나 파일 다운로드시 파일변조, content-length 미스매치등을 유발할수 있으니 권고사항대로 코딩하는것이 좋습니다