[PHP] HTML문자중 특정 문자 치환하기

PHP
[PHP] HTML문자중 특정 문자 삭제 하기 // 유니코드 삭제 처리 function getDeleteUnicodeStr($str) { $str = preg_replace('@\x{0007}@u', ' ', $str); $str = preg_replace('@\x{0008}@u', ' ', $str); $str = preg_replace('@\x{000E}@u', ' ', $str); $str = preg_replace('/​/i', ' ', $str); return $str; }
Read More

[PHP] 티스토리 스킨 텍스트큐브에 적용하기

PHP
[PHP] 티스토리 스킨 텍스트큐브에 적용하기 티스토리용 스킨이 마음에 드는것이 있어서 가져와서 적용을해보니 되지 않는 부분이 너무 많았습니다.스킨파일이 HTML 파일에 대해서는 적절하게 수정을 하면은 사용을 할 수 있지만은 치환자에 대해서는 어떻게 손쓸 방법이 없어서... 결국은 PHP 파일을 수정하게 되었습니다. 해당위치에 파일의 원본을 최대한 보전하면서, 스킨의 기능을 이용하기 위해서 수정한것입니다.그래서인지 속도는 다소 느려지는 편입니다. 파일 위치 : interface/common/blog/list.php <!--?php /// Copyright (c) 2004-2016, Needlworks / Tatter Network Foundation /// All rights reserved. Licensed under the GPL. /// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT) if (!empty($listView)) { dress('list', $listView, $view); } else if (isset($list) && isset($skin)) { // 블로그 ID 가져오기 $blog_id = $context->getProperty('blog.id'); $listView = $skin->list; $itemsView = ''; foreach ($list['items'] as $item) { // 각 글의 페이지 정보를 획득 하도록 함. list($entries, $paging) = getEntryWithPaging($blogid, $item['id']);…
Read More
[C#] RSS 보기

[C#] RSS 보기

CSharp
[C#] RSS 보기 평소에 블로그를 자주 돌아 다니는 편입니다.그래서 RSS를 모아 보이 위해서 만들었습니다. 제작환경 .Net Framework4.5 C# Winform /  PHP 5.5.X  / Mysql 5.X 테스트환경 : Windows10 , Windows7 일단 프로그램 실행 화면 입니다.Web에서 내역을 볼수도 있지만은 컴퓨터 앞에서 웹브라우저는 켜기 싫고해서 만들었습니다. 서버가 각 RSS 주소에 맞춰서 XML 파싱해서 정보를 서버에 두고 있습니다.프로그램이 서버에 요청해서 그에 맞게 XML를 돌려주는것으로 만들었으며, 제가 프로그램을 켜 주지 않아도 RSS를 갱신해주기 놓치지 않고 확인해 볼 수 있습니다. 알림 기능은 현재 만들다가 말았습니다.프로그램으로 전달해서 notify를 할려다가 포기하고 서버에서 특정 단어가 들어오면은 Telegram bot API를 통해서 제게 알려주도록 되어 있습니다.굳이 해당 프로그램을 실행하지 않아도 스마트폰에서 받을 수 있기에 원하는 글을 놓치지 않아서 좋습니다. 텔레그램에서 받은 정보의 일부분 입니다.URL과 내용을 제 마음대로 가공해서 알려주기고 해당 정보를 보고 굳이 컴퓨터 앞이 아니라도 웹페이지에 접속해서 신선한(?) 글을…
Read More

[PHP] 여러개의 class를 한 class에서 사용하기

PHP
[PHP] 여러개의 class를 한 class에서 사용하기 class를 잘 만들어 놓아서 재 사용을 높이려고 하는데 한곳에서 여러개의 class를 사용하려고 하면은 상속이 1번뿐이여서 귀찮았습니다.그래서 한곳에서 여러개의 class를 사용하도록 한번 만들어 보았습니다. <?php class AA { public function aa() { echo 'aa class'; } } class BB { public function bb() { echo 'bb class'; } } class CC { public function cc() { echo 'cc class'; } } class DD { var $aaExt; var $bbExt; var $ccExt; public function __construct() { $this->aaExt = new AA(); $this->bbExt = new BB(); $this->ccExt = new CC(); } } class EE extends DD { public function __construct() { DD::__construct(); // parent::__construct(); echo $this->aaExt->aa; echo $this->bbExt->bb; echo $this->ccExt->cc; } } $ee = new EE; -- Result --aa classbb classcc clase 위체서 처럼 서로 다른 클래스를 한곳에서 모두…
Read More

[PHP] MSSQL 함수 목록

Database, PHP
[PHP] MSSQL 함수 목록 정말 PHP + MSSQL을 잘 사용하지 않는 조합이지만은 필요할때는 써야 할 이유가 있습니다.조합 자체가 좋지 않다고 해서 쓰지 말라고 하기 보다는 내가 어떻게 처리를 해 줄수 있을지를 고민을 해봐야 해서....  일단 함수 목록이 필요해서 정리 합니다.매번 PHP 홈페이지 들어가기 귀찮은 이유이기도 합니다.... mssql_bind — Adds a parameter to a stored procedure or a remote stored proceduremssql_close — Close MS SQL Server connectionmssql_connect — Open MS SQL server connectionmssql_data_seek — Moves internal row pointermssql_execute — Executes a stored procedure on a MS SQL server databasemssql_fetch_array — Fetch a result row as an associative array, a numeric array, or bothmssql_fetch_assoc — Returns an associative array of the current row in the resultmssql_fetch_batch — Returns the next batch of recordsmssql_fetch_field — Get field informationmssql_fetch_object — Fetch row as objectmssql_fetch_row…
Read More

[PHP] 텍스트를 이미지로 변환하는 간단소스(한글지원)

PHP
[PHP] 텍스트를 이미지로 변환하는 간단소스(한글지원) 텍스트로 존재하는 문자를 이미지로 변환하는것인데, 간단한것으로 하기에는 좋지만은 복잡해지고 하면은 여러가지로 더 붙어야 할 것입니다.하지만 e-mail등을 그래픽으로 해서 인식을 저하 시키곳에 사용하는것은 괜찮을듯 합니다. <?php function textToImage($text, $fname, $fsize) { $text = iconv("EUC-KR", "UTF-8", $text); // 한글지원 $padding = 10; // 이미지여백 $ttf ="폰트가 있는 서버경로"; $size = imagettfbbox($fsize, 0, $ttf, $text); $xsize = abs($size[0]) + abs($size[2])+($padding*2); $ysize = abs($size[5]) + abs($size[1])+($padding*2); $image = imagecreate($xsize, $ysize); $bcolor = imagecolorallocate ($image, 255, 255, 255); $fcolor = imagecolorallocate ($image, 255, 0, 0); imagefilledrectangle($image, 0, 0, $xsize, $ysize, $bcolor); imagettftext($image, $fsize, 0, $padding, $fsize+$padding, $fcolor, $ttf, $text); imagejpeg($image,$fname, 85); imagepng($image); imagedestroy($image); } textToImage("한글 English 특수문자 ♥","title1.jpg","25"); echo "<img src='title1.jpg'>";
Read More

[PHP] 메모리 부족

Linux, PHP
[PHP] 메모리 부족 에러메세지 : Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) 메모리가 부족해서 일어나는 일입니다. 아래의 방법으로 해결이 가능 합니다.방법중에 하나인데 이 방법은 필요한 PHP 파일에서만 작동하기에 전체 메모리를 수정하지 않아도 된다는 점에 있습니다. #메모리 제한 늘리기 ini_set('memory_limit','192M'); #메모리 제한 풀기 ini_set('memory_limit','-1'); 또 다른 방법으로는 php.ini 을 직접 수정해서 웹서버를 재실행하는 것입니다.전체에 적용됩니다. ; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_limit = 메모리사이즈(숫자)M
Read More
[PHP] 스크래핑 작업(nuskin)

[PHP] 스크래핑 작업(nuskin)

PHP
[PHP] 스크래핑 작업(nuskin) 개발환경 : PHP5 CLI, MySQL요구사항 : 각 분류에 대한 처리, 상세페이지에서 설명과 이미지 저장 해당 사이트를 어느 부분을 캡쳐한 부분 입니다.해당 사이트에서의 정보를 일정 부분 취득하기를 원하기에 해당 사이트의 정보를 가지고 작업을 하였습니다. 목록이 구성되어 있으며 해당 목록페이지에 묶음 상품도 있어서 해당 내역도 처리를 해야 합니다.일반 상품과 묶음상품을 구분해서 분류를 확장해야 하며, 일반 상품이 소속된 분류도 처리를 해야 합니다. 제품 상세 페이지 이며, 해당 페이지에서도 원하는 부분만을 가지와 와서 처리를  해야 하는 작업입니다.원하는 부분이 있고, 원하는 않은 부분이 있기에 잘 구분해서 원문을 이상없이 수집하는 규칙에 맞게 설정을 해서 수집을 해야 합니다. 위 사진은 수집한 부분에서 일정부분을 화면 캡쳐 한 사진 입니다.위에서 처럼 각 부분을 가지고 해서 처리를 해야 하는 일입니다. 이번에는 작업이 다른것은 이미지 파일 이름을 임의로 변경을 하지 않고, 그대로 유지한채로 가져서 local에 저장을 해서 처리를…
Read More
[PHP] bevmo 스크랩 작업

[PHP] bevmo 스크랩 작업

PHP
[PHP] bevmo 스크랩 작업 PHP로 CLI 모드에서 해당 사이트를 내용을 가지고 오는 작업입니다. 카테고리별로 분리를 하고 다시 해당 카테고리 내에서 제품의 정보와 이미지 개인이 저장 할 수 있도록 저장 하였습니다. 개발환경 : PHP + MySQL 해당 정보를 가져오는 사이트의 일부 캡쳐 화면 입니다. 와인을 전문적으로 판매 하는 사이트입니다. 해당 사이트의 다른 정보 보다는 와인과 그 상세 설명등을 DB화해서 개인이 원하는대로 정보를 가공하는 일이였습니다. 웹을 이용하지 않고 단순하게 Windows에서 PHP를 가동하여서 CLI 모드로 실행되면서 사이트를 접속해서 정보를 가져오는 일입니다. 아래는 전체는 아니며 해당 사이트를 가지와 와서 가공한 DB의 정보를 캡쳐한 화면 입니다. 단순하게 텍스만 가져오지 않고 해당 사이트가 제공하는 이미지 파일을 local에 저장하여서 활용도 할수 있습니다. 각 분류에 맞게 디렉토리를 설정하고 이미지를 이름을 저장하고 관리 할 수 있습니다.
Read More

[PHP] RSS item 항목 숫자 제한하기

PHP
필요하다기 보다는 놀면서 하나 만들어 본것입니다.가끔 가다가 들리는 뽐뿌에서 NAS 포럼에서 본 글인데 아직 답변이 없어서 한번 만들어 보았습니다. 뽐뿌 원문 링크 주소는 " http://www.ppomppu.co.kr/zboard/view.php?id=nas&page=1&divpage=4&no=18328 " 입니다.블로그 주소를 남겨 놓지 않았기 때문에 뽐뿌에도 기록을 남기고 제 블로그에도 기록을 남깁니다. <?php require_once('./Snoopy.class.php'); if($_GET["k"]) { $k=$_GET["k"]; } else { $k="720p-with"; } if($_GET["b"]) { $b=$_GET["b"]; } else { $b =""; } // 테스트용 $k = urlencode("with+720p+무한"); $b = "torrent_variety"; $snoopy = new snoopy; $snoopy->fetch("http://torrentdn.net/bbs/rss.php?k=".$k."&b=".$b.""); $txt = $snoopy->results; preg_match('/(.*?)<item>/i', $txt, $txtMatch ); // item 시작전의 정보를 취득 // item외에 영역은 모두 삭제 처리 $txt = str_replace($txtMatch[1], "", $txt); // item 태그 열기 전 태그 및 문자 삭제 $txt = str_replace("</channel></rss>", "", $txt); // item 태그 닫고 channel, rss 태그 삭제 // item을 배열로 처리 하기 위해서 배열 문자 삽입 $txt = str_replace("</item>", "</item>\r\n", $txt); $txt…
Read More

[PHP] 페이징 함수

PHP
[PHP] 페이징 함수 상당히 오래전에 만든것인데 블로그에 그냥 기록을 해놓고 나중에 필요하면은 사용할 생각입니다.참조정도로만 사용할 수 있지 않을까 싶습니다. <?php /*************************** * @write_pages : 한페이지에 보여줄 행 * @cur_page : 현재 페이지 * @total_page : 총 페이지 * @url : URL * @add : ??? * 2011.03.14 **************************/ function get_paging($write_pages, $cur_page, $total_page, $url, $add="") { $str = ""; $str .= "<a href='".$url."1".$add."'>처음</a> "; // 현재 페이지로부터 앞에 몇개가 보여질지 정함 $start_page = (int) $cur_page - 6; // 페이징 목록 숫자를 정함 if($total_page < $write_pages) { $write_pages = $total_page; } // 페이징 시작이 0보다 작다면은 0으로 시작 하도록 함 if($start_page < 0) { for($i=0; $i < $write_pages; $i++) { $k = $i + 1; if ($cur_page != $k) { $str .= "<a href='".$url.$k.$add."'><span>".$k."</span></a>"; } else { $str .= "<strong>".$k."</strong>"; } } }…
Read More

[PHP] apache htaccess를 사용한 간단한 rest만들기..

PHP
폴더 구조는 다음과 같다.root .htaccess - public .htaccess,index.php위와같이 파일이 위치한다..htaccess를 설정한다. <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ public/ [L] RewriteRule (.*) public/$1 [L] </IfModule> 어쨌거나 요청이 오면 public 폴더로 보낸다. 뒤에 있는 url정보는 $1을 통해서 public으로 보내진다public폴더에 .htaccess를 설정한다. <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?url=$1 [PT,L] </IfModule>
Read More

[Linux] Apache, PHP 정보 숨기기

Linux
Apache, PHP 정보 숨기기 Apache, PHP 를 사용하다 보면은 HTTP 응답의 Header에서 Apache 버전과 PHP 버전등 정보가 돌아오게 되어 있습니다.이 정보를 감추는 설정에 대해서 적습니다. Apache 정보 숨기기대상 파일 : http.conf #서버정보를 완전히 숨기려면 Off, 아파치정보만 보이려면 On으로 하고 ServerTokens 만 수정 ServerSignature Off ServerTokens ProductOnly ServerTokens : 아파치 1.3 이후 버젼에서 사용할수 있음ProductOnly   : 아파치 1.3.12 이후 버젼에 추가 ServerTokens 에 사용가능한 옵션   ProductOnly # 웹서버의 이름만을 알려준다. Major # 웹서버의 이름과 Major 버전번호만 알려준다. Minor # 웹서버의 이름과 Minor 버전까지 알려준다. Minimal # 웹서버의 이름과 Minimum 버전까지 알려준다. OS # 웹서버의 이름과 버전, 운영체제까지 알려준다. Full # 최대한의 정보를 모두 알려준다.(웹서버, 운영체제, 등) # 해당 값의 표현 결과 ProductOnly: Apache Major : Apache/2 Minor : Apache/2.2 Minimal : Apache/2.2.3 OS : Apache/2.2.3 (CentOS) Full : Apache/2.2.3 (CentOS)…
Read More

[PHP] CURL을 이용한 RSS 파서

프로그램
RSS 2.0, RSS 1.0, ATOM 을 대용하기 위해서 한개의 파일로 만들려고 노력을 하였지만 잘 되지 않았습니다. <?php class RssParser { var $Agent = "MyAgent"; var $CookieNM = "./cookie.txt"; var $debug = false; function RssParser() { } function RssGet ($RssURL, $RssParam='') { $this->URL = $RssURL; $this->Param = $RssParam; $this->GetHeader(); $this->RssGetAccess(); $this->RssXMLLoad(); // xml 중 테이터가 있을 경우에만 결과값을 돌려줌 if(empty($this->xml->channel->title) == false) { return $this->MyParser(); } } function RssPost ($RssURL, $RssData) { $this->URL = $RssURL; $this->Data = $RssData; $this->ContentLength = strlen($this->Data); } function GetHeader() { //"GET ".$this->Param." HTTP/1.1", $this->Headers = array( "Content-type: application/xml;charset=\"utf-8\"", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language: ko-kr,ko;q=0.8,en-us;q=0.5,en;q=0.3", "Accept-Encoding: ", "Accept-Charset: EUC-KR,utf-8;q=0.7,*;q=0.7", "Keep-Alive: 300", "Connection: keep-alive", "" ); } /** * 실제 데이터 얻어 오는 부분 **/ function RssGetAccess() { $ch = curl_init(); curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false); curl_setopt($ch, CURLOPT_URL, $this->URL); curl_setopt($ch, CURLOPT_HTTPHEADER, $this->Headers);…
Read More