블로그 이미지
progh2
지루한 것에서 벗어나 재미난 것 속으로 풍덩~☆

calendar

1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

Notice

Recent Post

Recent Comment

Archive

2005. 12. 13. 23:07 기술문서창고/php
기본적으로 테터툴즈의 리더는 EUC-KR로된 주소만 사용할 수 있습니다. 이 점이 테터리더를 애용하는 저에게는 퍼키님의 블로그 같은 여러 주옥같은 블로그를 직접 클릭해 들어가서 새 글을 확인해야한다는 점이 매우 귀찮았습니다. =3



그러다가, 아쥬님의 블로그에서 테터툴즈에 리퍼러 기능을 달은 것을 보고 질문하여 제작자가 Crizin 이라는 분이라는 것을 알게되어, 그 블로그에 들어가니 이런, 제가 찾던 것이 바로 거기에 있었습니다. (헉;헉;) 덧붙여서 트랙글까지 UTF-8로 보내주는 기능까지!



아무튼 그래서 설치했습니다. 물론 작동은 잘~ 되었는데, 불만인 점이 있었습니다. 그것은 바로 UTF-8로 된 주소를 추가하려면, 무려



http://mydomain.com/utf8rss.php?uri=http://foo.com/index.xml


와 같이 무지막지하게 긴 주소를 앞에 쳐 넣어야 한다는 점이었습니다. 그래서 약간의 코드를 추가해서, 트랙백을 보내는 부분처럼 아래와 같이 자동으로 붙여주게 했습니다.



인코딩을 선택할 수 있는 라디오 버튼이 추가.

이렇게 주소를 입력하고 SEND를 누르면..

이렇게 앞에 자동으로 앞에 무언가(..)를 추가해 줍니다. =3



저처럼 수정하시고 싶으신 분(..이 얼마나 계실지 의문이긴 하지만 ^^;)은 일단 Crizin님의 글 "태터툴즈 고쳐쓰기 #11 - UTF-8 RSS 읽기, 트랙백 보내기"를 보고 수정을 하신 후, 트랙백 수정시 했었던 admin/article_trackback_pop.php 파일을 밑에 그림을 참고, 수정해주시면 되겠습니다. (옆에 숫자는 줄 수로, 환경마다 조금씩 다를 수 있습니다. 따라서 그림을 참고해 해당 줄 근처에 있는 코드를 찾아서 추가해주시면 됩니다.

앞에 주소 붙여주는 부분 [그림을 누르시면 원래사이즈로 나타납니다.]



[CODE] // mydomain.com에는 utf8rss.php 파일의 url을 써주세요~ // 예를들자면 asdf.net/tt/utf8rss.php?uri= //-------------------------------------- 여기서부터 ---------- $utf8rss = "http://mydomain.com/utf8rss.php?uri="; if ($encoding == "utf-8") { $xml_url = $utf8rss . $xml_url; } //-------------------------------------- 여기까지 ---------- [/CODE]

라디오버튼 추가. [그림을 누르시면 원래사이즈로 나타납니다.]



[CODE]<!-------------------------------------- 여기서부터 ----------> </tr><tr> <td align="right" width="100">인코딩 ::&nbsp;</td> <td colspan="2"> <input type="radio" name="encoding" id="encoding1" value="euc-kr" <?if($encoding=="euc-kr" || $encoding=="") echo "checked";?> /> <label for="encoding1">기본값</label> <input type="radio" name="encoding" id="encoding2" value="utf-8" <?if($encoding=="utf-8") echo "checked";?> /> <label for="encoding2">UTF-8</label> </td> <!-------------------------------------- 여기까지 ---------->[/CODE]



의문점 등등이 있으면 덧글 남겨주세요~ =3
posted by progh2
2004. 7. 24. 21:09 기술문서창고/php
테터툴즈 블로그를 분석하면서 알게된 유용한 함수들
배열관련함수 - current(), prev(), next(), reset()

문자열처리함수 - addslashes(), stripslashes(), htmlspecialchars()

list - list()
url분석 - parse_url()
posted by progh2
2004. 6. 1. 17:37 기술문서창고/php
이전에 SCSC 서버에 아는 분(꽃님누나)이 테터툴즈를 설치해서 잘 사용하는 것을 본 적이 있습니다.이상한 것은, 서울대 서버 내에 있는 서버에 테터툴즈를 포함한 몇몇 복잡한 php나 cgi 프로그램을 설치하면 서울대 방화벽에서 연결을 차단하곤 했는데 그런 현상이 나타나지 않은 것입니다. 그래서 원인을 추측해보니, 설치된 테터툴즈의 directory가 cgi-bin 아래에 있다는 것을 발견했습니다. 그래서, 혹시 cgi-bin 아래에 있는 프로그램들은 연결을 차단당하지 않는 것이 아닐까란 생각이 들어 한번 시도해보았는데 아직까진 차단당하지 않았습니다. ;_; 경과를 몇일 더 두고 봐야겠지만..

아무튼 이렇게 과서버에 돌아온 김에 몇가지 php 설정변경을 해보았습니다. 오늘 시도한 것은 업로드 용량 조절인데, /etc/apache/php.ini 파일의 설정을 변경해서 2메가로 한정된 용량을 늘려보는 것이지요. 그래서 여러번의 시행착오끝에 아래 url에서 문제를 알아낼 수 있었고, 해결했습니다.
http://kr.php.net/manual/kr/configuration.directives.php#ini.memory-limit

아래 2개의 설정은 기본적인 설정으로, 여기서 용량을 늘려주면 업로드 용량이 증가하게 됩니다.
upload_max_filesize = 2M
post_max_size = 8M

하지만, 실제 해보면 10메가 정도 까지는 잘되나 그 이상으로 올리면 마음대로 되지 않는다는 것을 알 수 있습니다. 그 이유는 "시간설정" 때문입니다.즉, php 실행시간이 30초를 넘어가면 자동취소되기 때문에 이 설정도 변경해주어야 합니다.
max_execution_time = 30

그래도 약간밖에 늘어나지 않는다는 것을 깨달을 수 있습니다. 이것은 "메모리"문제 때문입니다. php 스크립트가 차지하는 메모리양을 제한해놓았기 때문에, 이것까지 손을대지 않으면 아됩니다. 최소한 업로드 파일용량보다 크게 해야하는 것 같습니다. 즉 8메가를 올린다고 하면 8보다 큰 값을 지정해주어야지 제대로 업로드가 되는 것입니다.
memory_limit = 8M

이 말은 곧 업로드 용량을 허용한만큼 서버의 메모리를 소비한다는 말입니다. 따라서 여러 클라이언트가 접속해서 한꺼번에 대용량들을 업로드 한다면, 서버의 메모리는 금방 고갈되서 스왑메모리를 소비할 것이고 이렇게 되면 서버는 매우 느려질 수 있습니다. 이렇기 때문에 php.ini 의 설정에서는 2메가라는 매우 적은 용량으로 제한해놓은 것이라 생각해볼 수 있습니다.

그래서, 결국 제가 한 설정은 다음과 같습니다.
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 180
memory_limit = 106M
100메가 까지는 너끈히 올릴 수 있겠지요. :)
메모리제한을 -1 로 하면 무한(..)이 되긴 하는데 이거가지고 이상한짓을 할 사람도 있지 않을까 해서 하지 않았습니다. ( ")
그런데, 업로드 용량을 늘려서 어디다 쓰지?
posted by progh2
2004. 3. 27. 10:05 기술문서창고/php
posted by progh2
2004. 3. 27. 09:44 기술문서창고/php
출처: phpschool.com에 있는 관련글

후에추가)
테터툴즈의 코드에 있는 방식을 쓰는 것이 더 유익해보임.
posted by progh2
2004. 3. 27. 09:39 기술문서창고/php


출처: phpschool.com
posted by progh2
2004. 3. 27. 09:26 기술문서창고/php

/**
* 2byte 문자가 포함되었는지 검사
* [x00-x7F] : ASCII/JIS-Roman (1 byte/char)
* x8E[xA0-xDF] : katakana (2 bytes/char)
* x8F[xA1-xFE][xA1-xFE] : JIS (3 bytes/char)
* [xA1-xFE][xA1-xFE] : (2 bytes/char)
* @param string $string : 문자열
* @return boolen
*/

function isHan($string)
{
return preg_match("/[xA1-xFE][xA1-xFE]/", $string, $match);
}


출처: phpschool.com
posted by progh2
prev 1 2 next