묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
소켓함수와 파일포인터에 대한 조언 구합니다.(__)
2003.08.13 06:34
안녕하십니까(__) , 충분한 검색을 해보았으나 이 문제의 답만큼은 없어서 이렇게 질문글 올립니다.
fsockopen함수를 써서 url에 접속후에 원하는 정보만 읽을려고 합니다.
이때 전부다 읽는것보다는 제가 원하는 특정줄에 것만 읽고 싶은데...
이때 필요한 함수가 fseek인것 같습니다.이 함수를 사용하면 원하는것은 구현이 되는데...
좀더 편리하게 5번째줄이면 5번째줄로 바로 파일포인터를 이동시키는 방법이 없을까요?
for문으로 안돌리고 바로 원하는 줄만 읽을수 있는 방법좀 알고자 합니다.
fseek($fp,100,SEEK_CUR) <---- 이런방식은 100byte만큼 파일포인터를 이동하는것인데
byte만큼 이동보다 줄만큼 이동하는 방법없을까요? 대충 파일안에 텍스트내용이 여러줄있을때 5번째줄만 읽어오기....이런식이 있을듯 한데요...
한가지더 있는데요 소켓함수를 써서 이차도메인을 열때 잘 안먹히는것 같습니다.
예를 들자면 http://aa.com 홈페이지에서 메뉴를 누르니 http://bb.aa.com으로 넘어갑니다.
제가 열고싶은것은 http://bb.aa.com입니다. 그런데 막상 소켓함수를 써서 열어보면 aa.com이 열리는것입니다. 어떻게 해도 제실력으로는 안되더군요. 쓰는 방식은 이렇게 썻습니다.
fsockopen("http://bb.aa.com",80) 대충 이런식으로 했는데 저렇게해도 원래주소 aa.com이
열리더군요...
좋은방법 있으면 일깨워주시기 바랍니다.
그리고 다른조언 있으면 악플이여도 달아주시면 감사하겠습니다.(__)
fsockopen함수를 써서 url에 접속후에 원하는 정보만 읽을려고 합니다.
이때 전부다 읽는것보다는 제가 원하는 특정줄에 것만 읽고 싶은데...
이때 필요한 함수가 fseek인것 같습니다.이 함수를 사용하면 원하는것은 구현이 되는데...
좀더 편리하게 5번째줄이면 5번째줄로 바로 파일포인터를 이동시키는 방법이 없을까요?
for문으로 안돌리고 바로 원하는 줄만 읽을수 있는 방법좀 알고자 합니다.
fseek($fp,100,SEEK_CUR) <---- 이런방식은 100byte만큼 파일포인터를 이동하는것인데
byte만큼 이동보다 줄만큼 이동하는 방법없을까요? 대충 파일안에 텍스트내용이 여러줄있을때 5번째줄만 읽어오기....이런식이 있을듯 한데요...
한가지더 있는데요 소켓함수를 써서 이차도메인을 열때 잘 안먹히는것 같습니다.
예를 들자면 http://aa.com 홈페이지에서 메뉴를 누르니 http://bb.aa.com으로 넘어갑니다.
제가 열고싶은것은 http://bb.aa.com입니다. 그런데 막상 소켓함수를 써서 열어보면 aa.com이 열리는것입니다. 어떻게 해도 제실력으로는 안되더군요. 쓰는 방식은 이렇게 썻습니다.
fsockopen("http://bb.aa.com",80) 대충 이런식으로 했는데 저렇게해도 원래주소 aa.com이
열리더군요...
좋은방법 있으면 일깨워주시기 바랍니다.
그리고 다른조언 있으면 악플이여도 달아주시면 감사하겠습니다.(__)
댓글 3
-
좋은만남
2003.08.14 01:20
-
TheMics
2003.08.14 00:20
소켓함수 대신 file()함수를 이용해보세요.
$data = file("http://bb.aa.com");
이렇게 하면
$data[0]에 1번째 줄의 자료, $data[1]에 2번째 줄의 자료....이런식으로 저장됩니다.
줄단위로 이용하기에는 편리하죠.
http://kr.php.net/manual/kr/function.file.php -
이호한
2003.08.14 09:28
소켓은 순차저으로 읽어야합니다. 바로 건너 뛸수 없습니다.
성의있는 답변 정말 감사합니다.(__)
믹스님이 적어주신 답변은 알고있는데요.소켓함수로 하는 방법이 없을까요?
file함수로 하면 전부다 읽어야하고..여러 단점들이 있어서 소켓함수로 하고싶어서요..
그리고 파일포인터를 줄단위로 이동을 하고 싶은데 그것또한 방법이 없을까요?
꼭 byte단위로 이동이 되나요?
다시 한번 답변주시면 감사드립니다.
정답말고도 방법론만 알켜주셔도 정말감사하겠습니다.예를 들면 어디를 검색해보라던지 어느싸이트를 뒤져보라던지...등등요.