티스토리 툴바

달력

052012  이전 다음

  •  
  •  
  • 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
  • 31
  •  
  •  

갤S2 HD LTE 를 사용하고 있다.

My Maket 어플을 이용하여 일본 지하철 노선도를 다운 받았다.

하지만 다운로드 완료 표시는 계속 나타나는데 설치는 되지 않는데.

더군다나 다운로드 완료 표시는 확인을 해도 조금 후면 다시 나타난다..

혹시나 하는 마음에 다시 다운로드를 받아봤는데.... 다운로드 완료 표시가 2개로 늘어났다 -ㅅ-

 

USB모드로 PC에 연결하여 다운받은 APK 파일을 지웠지만 결과는 동일....

 

하지만 의외로 쉽게 해결이 되었다.

내가 어플 다운로드를 실행한 My Market 어플의 데이터 삭제를 실행..(어플 삭제가 아니다)

환경설정 => 어플리케이션 관리 => 다운로드 어플(Play 스토어나 my Market) 의 데이터 삭제 를 하면 해결 되는 것 같다.

 

Posted by SadDev
index.php

$('#file_upload').uploadify({
   'uploader'  : './swf/uploadify.swf',
   'script'    : './common/uploadify.php',
   'cancelImg' : './images/cancel.png',
   'folder'    : './uploads<?=$path?>',
   'multi'     : true,
   'fileExt'   : '*.jpg;*.jpeg;*.png;*.gif',
   'onComplete'  : function(event, ID, fileObj, response, data) {
    var ret = response.toString().split('|');
    if(ret[0] != 0){
     alert("Err : " + ret[0] + "\n" + ret[1]);     // ret[0] = 오류 코드 ,  ret[1] = 파일명     uploadify.php 에서 받은 리턴값
    } else {
     $("#filename").val(ret[1]);
          $.ajax({
           url : './common/upload.php',
           type : 'POST',
           dataType : 'json',
           data : $('form').serialize(),
           timeout : 5000,
           error : function(xhr){
            alert('DB 저장 중 오류가 발생하였습니다.\n' + xhr.responseText);
           },
           success : function(xhr){
       getThumbnailList(pathid);
           }
          });
    } 
      }
  });



<form name="frmFile" id="frmFile" method="POST" action="common/upload.php">
    <input type="hidden" id="filename" name="filename" value="" />
    <input type="hidden" id="pathID" name="pathID" value="<?=$pathid?>" />
    <input type="hidden" id="pathDir" name="pathDir" value="uploads<?=$path?>" />
    <div id="uploadBtn_layer"><input type="button" id="btnStartUpload" value="업로드 시작"/></div>

    <input type="file" name="file_upload" id="file_upload" />
   </form>

pathid 나  pathDir 은 DB에서 읽어온 정보를 넣는 것이므로 개인적인 작업이라 무시하시고 수정해서 사용 가능

jquery.uploadify.xx.js 파일  에서
g.folder=escape(f.folder); 를 찾아서
g.folder=encodeURIComponent(f.folder);  로 수정


Uploadifiy.php

if (!empty($_FILES)) {
  $tempFile = $_FILES['Filedata']['tmp_name'];
  $targetPath = $_SERVER['DOCUMENT_ROOT'] . urldecode($_REQUEST['folder']) . '/';    ///* 폴더 명을 urldecode 로 받는다.  */;
  $filename = iconv("UTF-8", "EUC-KR", $_FILES['Filedata']['name']);    // /* 파일 명을 urldecode 로 받고  iconv 로 처리 */
  $targetFile =  str_replace('//','/',iconv("UTF-8", "EUC-KR", $targetPath)) . $filename;   // /* 폴더명도 iconv 처리  */
  
   if(file_exists($targetFile)){
   echo "-200|overlap file name. [".iconv("EUC-KR", "UTF-8", $filename)."]";    // 이미 파일이 존재할  경우 -200cjfl
  } else {
   move_uploaded_file($tempFile, $targetFile);
   echo "0|".iconv("EUC-KR", "UTF-8", $filename);     // 업로드 성공하면 0
  }
 }
 else
 {
  echo "-100|Uploaded file is empty.";      // 파일이 없으면 -100 처리
 }
uploadify.php 에서 성공 처리 되면  upload.php 를  호출해서 DB에 데이터를 넣는다 이때 중요한것은 uploadify.php 에서 리턴시 다시 iconv("EUC-KR", "UTF-8", $filename)로
반대로 인코딩 해서 보내야 정상적으로 처리된다.. serialize 자체가 encodeURIcomponent() 가 붙다보니.. 인코딩 디코딩 부분이 까다롭다.

Upload.php

$filename = urldecode($_REQUEST['filename']);   // file명은 꼭 urldecode로
 $pathId = $_REQUEST['pathID'];
 if($pathId == "") $pathId = 1;
  $fullpath = "gallery/uploads";
 $path_result = mysql_query("select * from path where pidx = $pathId") or die(mysql_error());
 while($path_row = mysql_fetch_array($path_result)){
  $fullpath = $path_row[FULLPATH];
 }
 
 $targetFile =  $_SERVER['DOCUMENT_ROOT'] . $lib->upload_dir . iconv("UTF-8", "EUC-KR", $fullpath) . iconv("UTF-8", "EUC-KR", $filename);   // 경로명은 DB에서 가져와서 iconv 만 했지만 파라미터로 받을 경우 urldecode 후 iconv
 $ext = substr(strrchr($targetFile, '.'), 1);
 $filesize = filesize($targetFile);
 $width = 0;
 $height = 0;
 if(strtolower($ext) == "jpg" || strtolower($ext) == "gif" || strtolower($ext) == "png") {
  list($width, $height) = getimagesize($targetFile);
 }
 $now = date("Y-m-d h:i:s", time());
 //$filename = iconv("EUC-KR", "UTF-8", $filename);
 $file_query = "insert into Files (filename, pidx, extension, width, height, filesize, regdate)
  values('$filename','$pathId','$ext','$width','$height','$filesize','$now')";
 
 mysql_query($file_query) or die(mysql_error());



대충 문제가 됐던 것은 php 에서 리턴받은 한글 파일을 다시 다른 페이지로 넘기는 과정에서 한글 문제가 있었다.
어쨋든 폴더명이 한글이던 파일명이 한글이던 잘 올라간다.





Posted by SadDev
Windows 7에서 N150UA를 이용하여 카이 설정하는 법을 적어 봅니다.

* 아래 설치 화일을 미리 설치하지 마시고 아래 설명을 보고 나서 설치 하세요. 안그러면 지우고 또 설치해야 될지도 몰라요..

준비물
1. PSP
2. iptime N150UA  무선 랜카드  http://iptime.co.kr/~iptime/prd.php?pf=4&page=&pt=42&pd=2 
3. 랜카드 드라이버   http://iptime.co.kr/~iptime/bbs/zboard.php?id=sw_download&dffid=10&dfsid=6&dftid=151 
4. Xlink Kai   http://teamxlink.co.uk/ 
  - 다운로드는 회원가입 없이 되지만 이용은 어차피 회원가입 필요하니 회원가입 하고 다운 받으세요


설치법
1. PSP를 켜고 초기화면에서 네트워크 설정 -> ADHOC  ->  자동   으로 셋팅한다.
2. PSP 게임을 구동 후 네트워크에 접속한다 .
 - 몬헌3 기준으로 집회소를 X 버튼을 눌러 접속하면 로비를 선택 후 온라인으로 접속 가능하다.
3. 랜카드 드라이버를 설치 하기에 앞서 해당 드라이버 파일을 오른클릭 -> 속성 -> 호환성 -> 호환모드 (WinXP SP2) -> 관리자 모드 실행  으로 설정한다.
 - 이걸 설정하지 않으면 카이는 불가능.... 꼭 설정해 주세요.


4. 랜카드 드라이버 설치
 - 다른건 그냥 기본 상태로 넘어가시고 ralink 프로그램 쓰실거 아니면 드라이버만 설치하세요. 라링크켜두니 느려서 짜증..
 -

 
5. 무선랜 연결
 - 장치 연결 어쩌고 뜨고 802.11n 어쩌고 뜹니다.

6. 시작->실행-> devmgmt.msc (혹은 제어판 -> 시스템및 보안 -> 장치 관리자) (혹은  윈도우키 +  Pause -> 장치관리자)
 -> 네트워크어댑터 -> 802.11n Wireless Lan Card 오른클릭 -> 속성 -> 고급 -> PSP XLink Mode 사용함으로 설정
- 혹시 PSP XLink Mode 가 안뜨신다면 3번항목을 다시 한번 체크 해보세요. 호환성 모드 설정 안했을 경우 이 옵션 안뜹니다.


7. 네트워크 연결
 - 무선 네트워크를 보면 자신이 실행한 게임의 네트워크가 생성 되어 있을겁니다. 거기에 연결합니다.
 -  PSP_AULJM05800_L_MHP3Q000 이라는 연결이 생겼습니다. 더블클릭이나 오른클릭하여 연결합니다.

8. 네트워크아이콘 클릭하여 무선 네트워크에서 좀전에 연결한 게임을 오른클릭 -> 상태 -> 자세히 클릭 아이피를 기억해 둡니다.
 - 자세히 창을 닫고 속성 버튼을 눌러 속성창에서 InternetProtocol Version4(IPV4) 클릭 -> 속성으로 들어간 후  다음 IP주소 사용 체크후 해당 아이피를 입력 합니다.
 -  아래 첫번쨰 사진은 오른쪽의 상태 버튼 클릭 -> 자세히 -> 왼쪽의 아이피 순서로 보면 되고
 - 두번쨰 사진은 왼쪽의 속성 -> IPV4의 속성 -> 아이피 입력 순서 입니다.


9. 카이 설치
 - 카이설치의 경우는 별거 없이 그냥 설치 해줍니다.
 -  다만 설치 완료 후 start Kai 를 눌렀을떄 PSSDK 오류가 난다면(아마 100% 날겁니다.) C:\Program Files (x86)\XLink Kai 폴더에 있는 두개의 EXE 파일을 속성을 눌러 호환성을 WinXP SP2로 맞춰주고 관리자 실행 체크(LAN 드라이버 설치때와 동일하게) 해줍니다.
- 두개의 파일을 설정을 바꿔줍니다.



 10. 카이 설정
 - 카이를 시작하면 WEB 페이지가 뜹니다. 여기서 설정이 불편하니  트레이 아이콘에서  카이 오른클릭 -> configuration 을 클릭하면 설정 페이지가 뜹니다.
 -  여기서 제가 바꾼건 UI를 웹이 아니라 GUI로 바꾸고 Deep 포트를 30000 으로 바꿨습니다.
 - Save 버튼을 누르면 카이 어플이 실행 됩니다.


 11. 카이 실행
 - 실행 된 카이 창에서 계정을 넣고 로그인 합니다.
- 로그인 후  상단의 돋보기 아이콘 클릭 -> 폴더 아이콘 클릭 -> 어드레스 숫자가 막 보이면 성공한겁니다.
- PSP 이미지가 보여야 된다는 말도 있지만 PSP 이미지 안보고이고 잘 됩니다.
 

 12. 게임 연결
 -  지구본 아이콘 클릭 -> PSP 클릭 -> Action 클릭 -> MHP3 클릭 ->  Korean 클릭 -> 게임방 리스트가 나오고 현재 유저수 2/4 users.식으로 나오면 빈방을 찾아 접속
 - 그리고 게임을 즐겨 주세요~~





 
 현재 아무것도 셋팅 안된 PC에서 셋팅하면서 포스팅 작성 한 것입니다.
 정상적으로 카이 접속 되서 4명의 유저가 함께 있었네요..

 iptime  N150UA 가 안된다는 말이 있었느데 실제로도 잘 되며,  윈7에서 PSP Xlink Mode 가 안떠서 고생했었는데.. 호환성 바꿔서 설치하면 잘 되며.
Kai 시작시 오류가 떳었는데.. 역시 호환성 설정하니 잘 되고...
Kai 에서 PSP 이미지가 안나와서 안되나... 했었는데... PSP 이미지 안나와도 잘 되네요...

집에 짱박아둔 파판 영식이도 다시 해봐야 겠군요... 
Posted by SadDev
돌격병

Best Friend Forever

OBJECTIVES

  • 10 Revives (소생 10회)

    10 / 10
  • 10 Heals  (치료 10회)

    10 / 10

REWARDS

==============================================================

Professional Russian

OBJECTIVES

  • 100 kills with Assault Rifles  (돌격소총 100킬)

    100 / 100
  • 20 kills with Underslung Grenade Launcher  ( 하단런쳐 - M320 -  20킬)

    20 / 20
  • Win 5 rounds of SQDM (분대 데스매치 5승)

    5 / 5

REWARDS

=============================================================================



공병


Fixing it

OBJECTIVES

  • 10 repairs (수리 10회)

    10 / 10
  • Kill 1 enemy with Repair Torch (수리도구로 1킬)

    1 / 1

REWARDS

=====================================================================

It goes Boom!

OBJECTIVES

  • 50 AT rocket kills (로켓런쳐 50킬)

    50 / 50
  • Destroy 1 enemy vehicle with Repair Torch (수리도구로 적 탈것 파괴 - 박격포나 비콘같은 장비 파괴로도 가능- )

    1 / 1
  • Win 5 rounds of Conquest (컨퀘스트 5승)

    5 / 5

REWARDS

======================================================================

보급병


Let it rain

OBJECTIVES

  • 20 kills with Light Machine Guns (경기관총 20킬)

    20 / 20
  • 2 mortar kills (박격포 2킬)

    2 / 2

REWARDS

=========================================================================

Keep your head down

OBJECTIVES

  • 100 kills with Light Machine Guns (경기관총 100킬)

    51 / 100
  • 50 Suppression Assists (제압 지원 50회)

    49 / 50
  • 50 Ammo Resupplies (보급 50회)

    50 / 50

REWARDS

======================================================

정찰병


Specops

OBJECTIVES

  • 20 kills with Sniper Rifles(스나이퍼라이플 20킬)

    20 / 20
  • 5 Laser Designations (sofam 지원 5회)

    5 / 5

REWARDS

================================================================

Creeping Death

OBJECTIVES

  • 50 Headshots (헤드샷 50회)

    49 / 50
  • 50 Spot Assists (정찰지원 50회)

    13 / 50
  • 5 Knife takedowns (칼빵 5회)

    5 / 5

REWARDS

===============================================================

공통


Familiar Territory

OBJECTIVES

  • Arm 10 MCOMs (러쉬맵  MCOM 폭탄 설치 10회)

    10 / 10
  • Capture 10 flags (깃발 지원 10회)

    10 / 10
  • Play 2 hours on Karkand (카칸드 맵 2시간)

    24m 2s / 2h 0m

REWARDS

==============================================================

Scarred Veteran

OBJECTIVES

  • 10 Kills with PP-19 (pp-19 10킬)

    0 / 10
  • 5 kills in DPV Jeep (dpv 지프 탄채로 5킬)

    0 / 5
  • 10 Kills in BTR-90 IFV (btr-90 탄채로 10킬)

    0 / 10
  • Play 2 hours on Sharqi (샤르키 2시간)

    0m 0s / 2h 0m
  • Play 2 hours on Gulf of Oman (오만  2시간)

    0m 0s / 2h 0m

REWARDS

 

Posted by SadDev
php 로 EXIF의 keyword 값(이미지 정보중 태그 값) 을 수정하려다가 포기하고 C#으로 만들어 봤다...

몇가지 사이트에서 정보를 얻어서 했지만 자꾸 문제가 발생...
byte 단위로 데이터 읽어가면서 테스트 해서 겨우 성공..

  protected void Page_Load(object sender, EventArgs e)
        {
 //* 특정 이미지 파일을 읽어와서 이미지의 EXIF 정보 중 40094(keyword) 를 화면에 출력함. *//
            System.Drawing.Image theImage = new Bitmap(@"D:\\photo\\DSC02787.JPG");   

            System.Drawing.Imaging.PropertyItem[] propItems = theImage.PropertyItems;
            foreach (System.Drawing.Imaging.PropertyItem items in propItems)
            {
                System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
//                string value = encoding.GetString(items.Value);
                if (items.Id == 40094)
                {   
                    Response.Write(items.Type + " : " + items.Id + " = " + items.Value.ToString() + "(len : " + items.Len + ")");
                   // for (int i = 0; i < items.Value.Length; i++) Response.Write(items.Value[i] + "<br>");
                }
            }
            theImage.Dispose();
// 특정 이미지에 keyword 값을 수정하여 이미지를 새로 저장
            WriteNewDescriptionInImage(@"d:\\photo\\DSC02787.JPG", "지혜님짱!!;이쁜이;사랑스러워");
        }

        private static ImageCodecInfo GetEncodeInfo(string mimeType)
        {
            int j;
            ImageCodecInfo[] encoders;
            encoders = ImageCodecInfo.GetImageEncoders();
            for (j = 0; j < encoders.Length; j++)
            {
                if (encoders[j].MimeType == mimeType)
                    return encoders[j];
            }
            return null;
        }

        private void WriteNewDescriptionInImage(string FileName, string NewKeywords)
        {
            System.Drawing.Image pic;
            PropertyItem[] PropertyItems;
            byte[] bKeywords = new Byte[NewKeywords.Length];

            string FileNameTemp;
            System.Drawing.Imaging.Encoder Enc = System.Drawing.Imaging.Encoder.Transformation;
            EncoderParameters EncParmas = new EncoderParameters(1);
            EncoderParameter EncParam;
            ImageCodecInfo CodenInfo = GetEncodeInfo("image/jpeg");
// 여기가 중요함 keyword 의 경우 unicode로 읽어야 함... comment 의 경우  ASCII나 UTF8로 읽어야 함. 
            bKeywords = Encoding.Unicode.GetBytes(NewKeywords);

            pic = System.Drawing.Image.FromFile(FileName);
            PropertyItems = pic.PropertyItems;
            foreach (PropertyItem item in PropertyItems)
            {
                if (item.Id == 40094)
                {
                    item.Value = bKeywords;
                    item.Len = bKeywords.Length;
                    pic.SetPropertyItem(item);
                }
            }

            FileNameTemp = FileName + ".temp";  // 파일명 + .temp로 새로 저장...
            EncParam = new EncoderParameter(Enc, (long)EncoderValue.TransformRotate90);
            EncParmas.Param[0] = EncParam;

            pic.Save(FileNameTemp, CodenInfo, EncParmas);
            pic.Dispose();
            pic = null;
            GC.Collect();
        }

'프로그래밍 > C#' 카테고리의 다른 글

[ASP.NET C#]이미지 메타태그 값 수정하기 / keyword, comment / EXIF  (0) 2011/12/08
[C#] DataGridViewRow 복사  (0) 2010/07/05
[C#] MessageBox의 기능  (0) 2010/07/05
[C#] DataGridView  (0) 2010/07/02
ListView 의 사용(detail)  (0) 2010/06/28
Posted by SadDev