본문 바로가기

웹개발/PHP

(13)
AWS S3 사용시 중국의 Great Firewall에 의한 이미지 차단 우회하기 아마존 웹서비스(AWS)의 EC2 + S3를 이용하여 웹사이트를 서비스 하는 분들이 많습니다. S3에 이미지를 저장할 경우, 중국에서 웹사이트 접속시 해당 이미지가 표시되지 않습니다. GreatFirewall에 의한 차단 때문인데요. 워드프레스에서 차단을 우회하기 위한 코드를 공유합니다. 원리 : 워드프레스 필터를 사용하여 본문의 img 태그의 src를 추출하여 base64 URL로 인코딩하여 반환합니다.Thumbnail image와 content의 내용을 찾아서 교체합니다. 아래 내용을 적절히 수정해서 사용하시면 됩니다. function cs_modify_post_thumbnail_url_html($html, $post_id, $post_thumbnail_id, $size, $attr) { return..
[해결방법 총정리] Warning: URL file-access is disabled in the server configuration in Warning: require_once() [function.require-once]: URL file-access is disabled in the server configuration in ...Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in ...Warning: getimagesize() [function.getimagesize.php]: URL file-access is disabled in the server configuration in ...PHP(워드프레스)에서 files_get_contents, fopen, include 등을 ..
cURL에서 EUC-KR, UTF-8 변환 문제 해결 cURL을 이용하여 데이터를 가져오는데, 아무리 해도 인코딩 문제 해결이 쉽지 않더군요. ¼­¿iÆ?º°½A ¼­AE±¸ ¾cAcμ¿ 변환 후 DB에 저장해도 이렇게 보이는.. iconv가지고 삽질하다가 mb_convert_encoding을 써봐도 해결이 쉽게 되지 않더군요. 몇 번의 삽질 끝에 다음과 같이 해결했습니다. PHP 스크립트의 인코딩 : UTF-8 MySQL 인코딩 : UTF-8 cURL 요청 헤더 : EUC-KR cURL 응답 : EUC-KR 보통 위의 환경에서 문제가 가장 많이 발생하는데, 아래의 코드로 해결하시면 됩니다. $res = sendCurlPostRequest($url,$fields,$referer,"euc-kr"); $enc = mb_detect_encoding($res); ..
PHP Fatal error: Class 'DOMDocument' not found 조치 방법 PHP에서 Fatal error: Class 'DOMDocument' not found in /home/data/html/common/class/board.cls on line 885와 같은 애러 발생시 php-xml 라이브러리를 설치해 주신 후, WAS(apache 등)를 재시작 해 주시면 됩니다.yum -y install php-xml*service httpd restart
PHP Notice: Undefined index: 해결 방법 Notice: Undefined index: idx in /home/data/html/board/index.php on line 7 Notice: Undefined index: NO_AUTO_LOGIN in /home/data/html/common/common.sub on line 1456 와 같은 애러 발생시 소스코드를 수정하실 필요 없습니다. php.ini 파일을 에디터로 엽니다. vi /etc/php.ini;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICTerror_reporting = E_ALL & ~E_NOTICEerror_reporting 을 E_ALL & ~E_NOTICE로 수정해 주신 후, 저장 (:wq! ) 하시고, WAS(httpd) 를 재시작..
웹페이지 PDF 생성. 삽질은 이제 그만! 웹마스터라면 누구나 PDF 생성에 대해 많은 삽질을 경험해 보았을 것입니다. 모든 종류의 pdf 생성 플러그인을 해 보았지만, 자체 문법을 요구하거나, 많은 삽질을 하고, 결과적으로는 원하는 대로 문서가 생성되지 않았습니다. 특히 google chart같은 자바스크립트를 통해 가져오는 데이터는 표시도 되지 않았습니다. 그러던 중 이걸 발견하게 되었는데요. 정말 만족스럽습니다. 사용도 지금까지 본 것 중에 가장 간편하구요. (단, jqueryUI 등 자바스크립트에서 페이지 로드 후 객체의 디자인을 바꿔주는 부분은 바뀌지 않을 수 있는데, 이부분은 전혀 불편하지 않으실 거라고 생각합니다. 이 부분에 대해서 이해가 안가시는 분은 해당되지 않으니 무시하셔도 되요) 아래는 리포트 페이지를 pdf 로 생성한 모습입..
제로보드XE설치시 FTP부분에서 무시 해도 넘어가지않을경우 대처방법 제로보드XE를 설치하다가 아래와 같은 FTP정보 입력에서 무슨 짓을 해도 넘어가지 않아서 고생하시는 분들을 위해 해결 방법을 알려드립니다~ 제로보드 질문답변게시판을 뒤져봐도 명확한 답이 나오지 않더군요. 문제의 그장면입니다. 여기서 30분동안 삽질을 했었죠. 문제는 제로보드 디렉토리의 권한이었습니다. 아래와 같이 모든 권한을 체크합니다(보안상 찝찝하다고 생각하시면 설치 완료후 권한을 원래대로 돌려놓으시면됩니다.) 리눅스의 경우에도 chmod 를 통해 제로보드 폴더의 권한을 777로 변경해 주시면 됩니다~
php에서 상대경로 처리하는 팁 php에서 파일을 하위 폴더에서 include할 때 경로 처리 때문에 고생하는 분들이 많으실 겁니다. 저 또한 영국에서 php로 프로그래밍을 하다가 경로 때문에 고생을 많이 했었습니다. 그러다가 개인적으로 사용하는 그누보드의 g4_path가 떠올라 찾아보고 이렇게 쉽게 해결했습니다. 보통 루트에 common.php 파일을 만들어 두고 이 파일은 여러 경로에서 인클루드 하고 싶은데 다른 폴더에서 상위폴더의 common.php 를 인클루드하면 그 안에 있는 경로가 엉망이 되어 애러가 나게 되죠. 제가 사용하는 방법은 그누보드에서 사용하는 _common.php를 이용하는 방법입니다. 방법을 지금부터 설명드리겠습니다~ _common.php라는 파일은 php코드에서 다른 파일을 인클루드 할 경우 모든 폴더에 하나..