로그인

주소로 파일 내용을 가져오는 함수

주소로 파일 내용을 가져오는 함수

조회 2,235 2026-08-18 등록

소개

외부의 특정 파일의 내용을 그대로 불러오고 싶을때가 있다 물론 .php 파일같은경우 원본 파일을 불러오는게 아닌 php부분이 실행된 이후의 결과 페이지를 가져올수 있다 .txt파일등 다른 여러파일도 동일하다 $file=file_get_contents("파일명"); 해당 파일명의 내용을 $file로 대입해서 사용할수 있다 그런데 이때 모든 홈페이지의 내용을 사용할수 있는건 아니다 간혹 보안을 목적으로 외부에서 내용을 가져가지 못하도록 막아 놓는 사이트가 있다 그러나 자신의 ftp경로의 있는내용을 별무리 없어 가져와 사용할수가 있다

태그

의견 0

로그인하면 의견을 남길 수 있습니다.

아직 의견이 없습니다. 첫 의견을 남겨보세요.

비슷한 사이트

게시글

외부의 xml 파일을 로딩하지 못하는 경우 처리 방법

www.moayo.net

.htaccess 파일에 추가 php_flag allow_url_fopen on 로딩페이지소스 ini_set('user_agent', $_SERVER[HTTP_USER_AGENT]); simplexml_load_file("http://도메인1.com/loding.xml"); xml파일을 로딩할때 사용하는 함수입니다 simplexml_load_file("loding.xml"); loding.xml 을 로딩해서 사용할수 있습니다 그런데 외부 주소의 xml 파일을 로딩할때 안되는경우가 있습니다 simplexml_load_file("http://도메인.com/loding.xml"); 이런식으로 http://도메인.com/loding.xml 외부 주소를 로딩할때 안되는경우가 있습니다 이때 외부에 있는 파일을 가져올수 있는지 확인을 해봐야 합니다 만약 사용할수 없게 되었다면 .htaccess 파일에 php_flag allow_url_fopen on 추가하면 사용가능해집니다 이랬는데도 아되는경우가 있습니다 예를 들어 simplexml_load_file("http://도메인.com/loding.xml");주소는 되는데 simplexml_load_file("http://도메인1.com/loding.xml");주소가 되지 않을때가 있습니다 모든 소스와 http://도메인.com/loding.xml http://도메인1.com/loding.xml 주소의 xml 도 동일한데 안될때는 http://도메인1.com 도메인에서 차단되는경우가 있습니다 이때 차단이유가 user_agent 부분때문인경우가 있습니다 클라이언트 브라우저 정보를 나타내는 부분인데 예를 들어 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36 이러한 정보입니다 이정보가 재대로 넘어가지 않을경우 정상처리 되지 않는경우가 있습니다 이부분을 처리하기위해선 ini_set('user_agent', $_SERVER[HTTP_USER_AGENT]); simplexml_load_file("http://도메인1.com/loding.xml"); 이렇게 넘기거나 ini_set('user_agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36'); simplexml_load_file("http://도메인1.com/loding.xml"); 직접값을 넣어 넘기는 방법이 있습니다 다시한번 정리하면 외부 xml파일이나 크롤링이 안될때 1).htaccess 파일에 php_flag allow_url_fopen on 추가 2)로딩하는 페이지에 ini_set('user_agent',$_SERVER[HTTP_USER_AGENT]) 를 추가해 user_agent 부분을 재정의 합니다 이렇게 해도 안되는경우 아이피,모듈등을 통해 막은 경우도 있긴합니다

게시글

웹URL 주소로 캡쳐 하는 프로그램 만들어 보도록 하겠습니다

웹URL 주소로 캡쳐 하는 프로그램 만들어 보도록 하겠습니다 html2canvas 플러그인을 통해서 웹페이지를 캡쳐할수 있습니다 하지만 자신의 홈페이지에서만 가능 하지 다른 URL주소의 내용은 캡쳐할수 없는 단점이 있습니다 해서 URL주소를 입력하면 해당 주소의 내용을 캡쳐후 이미지로 반환해주는 프로그램을 만들어 보려합니다 작동원리 작업전 준비 작업 1)PHP 홈페이지 2)서브서버로 사용할 윈도우 PC 3)공유기 포트포워드 설정 (메인서버에서 가상아이피를 사용하는 서브서버로 접속하기 위함) 4)서브서버에 파이썬 설치 5)서브서버에 파이썬 flask 설치 6)서브서버에 파이썬 selenium 설치 위 순서대로 진행을 하려합니다 핵심은 메인서버에서 서브서버의 특정 프로그램을 실행 시켜주는 것입니다 일반적으로 웹상에서 다른 PC의 프로그램을 컨트롤 하기가 어렵습니다 처음 개발단계에서 웹소켓을 통해 프로그램을 컨트롤 하려 했습니다 실재로 http로는 컨트롤까지 되었습니다 그러나 홈페이지가 https인 경우 ws가 아닌 wss 웹소켓만 사용해야 하는 문제가 있어서 php file_get_contes() 함수와 flask서버를 사용해 컨트롤 하는 방법을 채택하였습니다 처음 계획이 수정되어 편법을 사용한 것이 아닌가 생각되었지만 flask 를 사용해보니 서브서버가 안정적으로 작동하여 오히려 더 나은 방법이라 판단됩니다 유튜브주소 https://www.youtube.com/watch?v=aCWmZplpts0 https://www.youtube.com/watch?v=iE1wAFZmR-w