생활코딩 PHP - 파일 제어 트러블 슈팅 > PHP

PHP

PHP Web Programming 강의 리스트

생활코딩 | PHP - 파일 제어 트러블 슈팅

본문

※ 영상을 선명하게 보기 안내
  1. 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
  2. 팝업목록에서 "품질" 선택하세요.
  3. 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
생활코딩님의 PHP강의 청각장애인을 위한 자막
15444115949406.jpg

 이번 시간에는 여러분이 파일을 다루면서 발생할 수 있는 몇가지 문제들 에

대해서 제가 조금 지퍼 드리는 시간을 갖도록 하겠습니다
어 일단은 유닉스 계열 시스템 ex 그리고 윈도우 그리고 os x 에
같은 시스템을 사용할 때 발생할 수 있는 가장 대표적인 문제가 바로 이런
메시지를 만나는 경우입니다
저기 뭐라고 적혀 있나요 set of esteem 퍼미션 d9 드
그리고 1점 php 그리고 파일 게 컨텐츠 라는 함수를 사용했을 때 이
권한의 권한 때문에
거부되었다 권한이 거부되었다 어 라고 에러가 뜨고 있는 것이죠
이건 뭐냐면 보안과 관련된 것이고 또 권한과 관련된 부분입니다
자 그럼 이유를 한번 살펴보죠 자 우선 1점 php 라고 우리가 방금
실행했던 저 파일이 위치하고 있는 디렉터리를 한번 살펴보면
자 이렇게 생겼습니다 그리고 1점 php 의 내용은 요렇게 생겼어요
자 여기 보시는 것처럼 1점 php 는 파일 켓 컨텐츠라고 하는 요
함수를 이용해서 led 2점 텍스트 라는 파일을 읽으려고 시도를 하고
있습니다
led 2점 텍스트 파일은 이 것이고 이 파일의 소유자 는 루트 그룹도
루트입니다
자 그런데 지금 현재 우리가 이 php 애플리케이션을 동작할 때는 이
php 애플리케이션은 현재 따따따 어
베이터 라고 하는 이 id 값으로 동작을 하고 있는 겁니다
물론 따따따 데이터 라고 하는 것은 여러분이 어떤 운영 체제에서 이 어
아파치를 실행 했느냐 또는 어떤 웹 서버를 쓰느냐 이런거에 따라서 이
값은 달라질 수 있습니다
요 값은 여러 요 값은 현재 제가 사용하고 있는 아파치는
이 따따따 데이터 라는 사용자 계정으로 동작하고 있기 때문에 제가 따따따
데이터를 하는 것이지
이것은 바뀔 수 있다라는 것을 말씀드리는 거예요
자 어쨌든 따따 데이터 라고 하는 이 사용자 계정으로 음
동작하고 있는 아파치 이기 때문에 아파치 2 php 는 그 아파치에
모듈의 형태로 돌고 동작하고 있습니다 그래서 이 php 도 따따따 데이터
라고 하는 어 사용자의 이름으로 아이디로 이 시스템에서 활동하고 있는
거라고 보시면 됩니다
자 그런데 자 여기 em 텍스트 파일에서
소유자는 루트 고 그룹도 를 2조
그 얘기는 뭐냐면 따따따 데이터 라고 하는 사용자는
예 루트도 아니고 그룹도 아니다
다시 말해서 아더 라는 뜻입니다
약간의 이거 to the 발
즉 소유자도 아니고 그룹도 아니다 라는 때서 아더 이고 더는 여기
있는 요건 안에서
요 제일 끝에 있는 세 번째 세 번째 기
제일 끝에서 그때 있는 요 세 개의 칸 들이 바로 아더의 권한이 줘
여기에 r w x 가 올 수 있는데 알도 현재 없고 w 도 없고 x 도
업주 얘기는
어 아 더 즉 이 파일에 대한 소유자도 아니고 관리 그 그룹도 아닌
사용자는 이 파일에 대해서 읽기 권한도 없고 쓰기 고난도 없고 실행
권한도 없다 라는 뜻입니다
그래서 중요한 건 1기 건 아니죠 우린 이 파일을 읽으려고 하는 거기
때문에
그렇기 때문에 이 파일을 읽을 수 없기 때문에 이 퍼미션 d9 d 라고
하는 에러가 출력이 되는 겁니다 자 oled 2점 텍스트 파일을 우리가
php 를 php 엔진을 통해서 읽으려고 하면 몇 가지 방법들이 있습니다
첫번째는
현재 이 파일에 대한 소유자 또는 그룹의
그룹의 이 파일의 권한이 알이 들어가 있기 때문에 이 파일을 이 파일은
소유자도 읽을 수 있고 그룹도 읽을 수 있다 라는 뜻입니다 즉 그 얘기는
여러분이 이 파일에 대한 소유자를 따따따
베이터 로 바꾸거나 또는 그룹도 따따따 데이터로 바꾸게 되면 이 파일을
읽을 수 있다 라는 뜻이 되는 것이죠 자 또 다른 방법은 이 파일의 아
더 더 또 요 파일의 내용을 읽을 수는 있도록 여기 있는 첫 번째 자리에
r 이라고 하는 것이 표시되도록 여러분이 권한을 조정하는 것도 방법입니다
이 중에 한 가지 방법을 선택하시면 되는 거죠 자 저는 이 파일의
소유자를 따따따 데이터로 바꿔보겠습니다
자 수도 chow
소유자를 바꾸는 거죠 그 다음에
따따따 데이터 그리고 리듬이 2점 텍스트 엔터 실행을 시킨 다음에 다시
요 파일을 리로드를 하면 그때 비로서 코딩 에브리바디 라는 아 내용이
화면에 지 출력이 되고 있는 것이죠 즉 권한을 조정하는 걸 통해서 이
문제를 해결했다는 것입니다
자 그 다음에는 어 제가
자 여기에 있는 요 파일중에 캣 정 php 에 내용을 보면
자 여기 있는 이 점 php 의 내용은 lite 점 테스트 드 라 는
파일을 파일 개의 파이프 컨텐츠를 이용해서 코딩 야 우리 밭 이라는
텍스트를 요 파일의 나가 기록하려고 하는 것이죠 즉 파일을 새로 생성
하려고 하는 겁니다 자 잘 되는지 한번 확인해볼까요
자 이 점 php 를 실행 시켰더니 자 보시는 것처럼 이번에도 퍼미션
d9 드가 출력이 됐습니다
자 그럼 코드를 한번 살펴보죠 ls - al 하고서
자 보니까 지금 제가 하려고 하는 것은 이 현재 디렉토리의
elite 점 텍스트 라는 파일을 생성 하려고 하는 겁니다 자 그러면
파일의 생성 하려고 할 때는
누구의 권한을 따르게 되냐면 여러분이 생성하고자 하는 파일 이 위치하고
있는 디렉토리에 권한의 라이트 권한이 있어야지만 여러분이 파일을 그
디렉토리 안에다가 생성할 수가 있게 됩니다
자 그런데 한번 살펴보면 현재 디렉토리를 의미하는 요 점 을 보니까 현재
디렉토리의 소유자는 루트 그룹도 루트입니다
그 얘기는 우리가 이 php 애플리케이션을 동작하면 아더 이에 권한으로
이 실행이 되야 된다는 것인데
자아 도어를 보니까 아더 에 권하는
읽기 도 가능하고 실행도 가능한데 아쉽게도 w
즉 쓰기가 불가능하다 따라 는 겁니다
자 그럼 이 문제를 해결하기 위해서는 더 도
쓰기가 가능하도록 하거나 또는 루트 나 루트 여기에
어 아더가 아니라
2
5 너에게만 라이트 권한이 있다고 여기 표시가 되어 있기 때문에 여러분이
이 첫 번째 자리에 나오는 루트가 루트를 따따따
데이터로 변경 해 준다면 역시나
현재 디렉토리의 라이트
미 점 텍스트 라는 파일을 생성할 수가 있겠죠
자 저는 요 현재 디렉토리의 소유자를 루트에서 따따따 데이터 로 변경해
보겠습니다
악수도 chmod
체인지온 어
따따따 데이터 그리고 현재 디렉토리 캔터
자 그렇게 해서 제가 ls - 일했을 때 현재 디렉토리의 소유자는 따따따
데이터가 된 것을 볼 수가 있죠
자 제가 다시 로드를 하면 보시는 것을 에러가 사라졌고
자 보시는 것처럼 lite 점 텍스트 라는 파일이 생성이 되었습니다
아시겠죠 자 그런데 여러분이 어떤 파일을 잃거나 쓰거나 할 때 그 파일이
이 권한이 없거나 또 권한이 있거나 에 따라서 이 여러 가지 문제들이
발생할 수 있다는 것을 확인 하셨죠
그래서 여러분이 실제로 파이버 관련된 어떤 작업을 하기 전에 그 파일이
읽기 가능한 상태인가 또는 쓰기 가능한 상태인가 를 확인할 수 있는
방법이 있는데요
자 그 방법이 봐줘 바로 이겁니다
그래서 여러분이 어 그 파일의 읽기 가는 그 파일이 읽기 가능한
상태인지를 확인할 때는
rees 언더바 리 w
즉 읽을 수 있냐 라는 것으로 체크를 해 보시면
그것이 투르 인 경우에는 더 파일의 잊으리 더블 이라고 이렇게 나오고
아냐 그 파일이 읽을 수 없다 권한이 없다면 예
이 함수는 폴스 를 리턴 하기 때문에 s 에 있는 것이 실행이 됩니다
그럼 여러분들은 이런 정보들을 바탕으로 해서 그 파일을 처리하는 이
방법을 조금 더 구체적이고 디테일하게
다다를 수가 있겠죠 만약에 그 파일이 쓰기 가능한 상태에 있는지를 확인할
때는
이지 라이터 불이 라고 하는 것을 사용해서 그 인자로 전달되는 파일이
읽기 가능한지 아니죠 쓰기 가능한 들을 체크해서
만약에 쓰기 가능하다면 투로 가 리턴 되고 쓰기가 불가능하다 며 볼수가
리턴 될겁니다
그럼 여러분들은 그 값에 따라서 또 세부적인 이 동작 방법을 제어할 수가
있겠죠
자 그 다음에 또 하나 알아두면 좋은 것은 이 파일 언더바 이 그지 스치
라고 하는 요런 함수가 있는데요
요 함수 직접 실행해 볼 필욘 없을 것 같아서 실행을 하는데
여러분이 직접 한번 실행을 해 보시길 바랍니다 자 보시는 것처럼 리듬이
2점 텍스트 라는 파일이 있는지 없는지를 확인할 때는 파일 언더바 이 그
지스트 에 인자로 여러분이 실제 존재하는지 그렇지 않은지를 확인하고자
하는 파일을 인자로 전달 해 줍니다
그러면 그 인자로 전달된 파일이 있다면 투르가 리턴 되고 없다면
paul's 가 리턴 되는 것
1턴 되기 때문에 여러분은 그 파일이 있는지 없는지에 따라서 어떠한
다르게 프로그램을 동작하도록 할 수가 있겠죠

댓글 0개

등록된 댓글이 없습니다.

Total 93건 4 페이지

본 사이트의 컨텐츠는 명시적으로 공유기능을 제공하고 있는 공개된 자료를 수집하여 게시하고 있습니다.

저작권, 강의등록, 광고, 제휴등은 "관리자에게 문의"로 메세지 주시면 확인후 답변드립니다.

Menu