로그인

게시글

엑셀내용을 PHP파일로 불러오는 방법

php에서 내용을 엑셀로 변환하는것은 그렇게 어렵지않다 그런데 엑셀파일을 PHP로 변환하는것은 약간 어려움이 있다 PHP->EXCEL은 가능하나 EXCEL->PHP는 좀 어려운것이다 그러나 이 2번째것이 가능하다면 여러가지로 유용하게 사용할수 있는부분이 많다 예를 들어 카드사에서 다운받은 카드내역을 수기가 아닌 파일업로드로 한번에 끝낼수 있고 다른 업체들에서 제공받은 엑셀파일을 수기가 아닌 파일업로드로 간단하게 등록할수 있게된다 그렇게 되면 시간과 노력을 절약해서 대량의 데이터를 디비에 저장해서 쉽게 관리할수 있게된다 뭐 사용목적은 대충이렇고 사용방법은 그리 어렵지않다 필자는 excel_reader2.php 파일을 통해서 데이터를 뽑아와서 처리했다 require_once "excel_reader2.php";//첨부된 파일 호출 $EXCELCLASS = new Spreadsheet_Excel_Reader("엑셀파일명.xls");//파일내용을 가져오기 $rowcount=$EXCELCLASS->rowcount();//레코드갯수 $excel_pay=$EXCELCLASS->val($i,$j);//셀접근방법 $i는 레코드번호 $j는 필드번호 1,1 부터시작한다 배열처럼 0부터 시작안함 1,1셀의 내용을 가져오려면 $EXCELCLASS->val(1,1) 이런식으로 호출하면된다 쉽게 배열형태로 이해하면 접근하기가 쉬울것이다

#프로그램 #php #소스 #엑셀읽기 #excel_reader2 #Spreadsheet_Excel_Reader #엑셀업로드 #대량데이터등록

게시글

버전에따라 다르게 처리하기위해 앱 버전을 알아내는 방법

앱설치후에 앱의 버전을 알고 싶을때가 있다 예를 들어 1버전 앱인데 지금 2버전까지 개발되었을때 1버전 사용자들에게 2버전을 다운받으라고 안내하고 싶을때가있다 그러나 그렇게 쉬운 방법이 아니였다 웹뷰안에서 버전을 알기 위해 여러가지 검색을 해보았으나 플러그인을 찾지못했다 물론 안드로이드,IOS버전을 알수 있는 플러그인은 있었으나 해당 앱의 버전을 알수 있는방법은 찾지못했다 그런데 플러그인 필요없이 간단하게 처리 하는방법이 있다 그건 폰갭셋팅후에 웹뷰를 호출할때 index.html 파일을 연결하는 부분이 있다 이곳에 get방식으로 version변수를 넘기면된다 index.html?version=1.0 뭐 이런식으로 하면된다 2.0버전일때 모바일 홈페이지에서 알려주는 방법은 다음과같다 if(version!="2.0"){ //업데이트 문구 } 이렇게 해당 소스는 ftp에서 변경할수 있고 앱1.0버전에서 접속하는 경우 version=1.0 이므로 업데이트 문구를 실행할수 있게된다 결론적으로 꼭 플러그인이 아니여도 변수를 넘김으로 인해서 간단하게 처리할수 있는방법이 존재한다 ​

#프로그램 #소스 #PhoneGap #폰갭 #하이브리드앱 #앱버전확인 #앱업데이트안내 #웹뷰

게시글

외부의 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 부분을 재정의 합니다 이렇게 해도 안되는경우 아이피,모듈등을 통해 막은 경우도 있긴합니다

#프로그램 #php #htaccess #xml #크롤링 #simplexml_load_file #allow_url_fopen #XML로딩 #user_agent