PHP 에서 POST 파일 업로드 간단하게 업로드 하는 방법입니다.

소스 2줄이면 파일 업로드가 가능하다니 정말 편한것 같아요 ㅎㅎ

소스 옆에 주석을 달아 놨습니다. 참고 하시면 바로 성공 하실 거에요

저는 안드로이드에서 서버로 프로필파일 이미지 업로드 하는데 이용 했습니다.



$uploaddir = "profile/";  // 파일을 저장할 폴더 경로
$uploadfile = $uploaddir . $_FILES['file']['name']; // 경로와 업로드할 파일 이름
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { // 파일 업로드를 시작한다
        // 파일업로드 성공한 경우 처리

      } else {
        // 파일 업로드 실패 한 경우 처리
      }


HTML 에서 PHP를 사용해서 API와 통신하고 JSON 파싱해야 할 경우가 있습니다.

API 헤더에 키값이 필요하다면 header도 이용을 해야 하는데요


php 에서 아주 간단하게 curl을 이용한 api통신하고 json 파싱까지 하는 방법을 짧게 설명 하겠습니다.

소스가 아주 간단해서 소스만 봐도 모든분이 설명필요 없이 아실것 같은데요

소스 먼저 소개를 할게용~


<?php
            $o_count = 0;
            $headers = array("Security-Key: 키값");
            
            $ch = curl_init();
            curl_setopt($ch , CURLOPT_URL , "http://test.com");
            curl_setopt($ch , CURLOPT_HEADER , 0 );
            curl_setopt($ch , CURLOPT_SSL_VERIFYPEER , 0 );
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
            $result = curl_exec($ch);
            
            curl_close($ch);
                
            $decode = json_decode($result, true);
            $array_c = $decode['list'];
            foreach($array_c as $key => $value){    
                    $ctitle = $value['Title'];
                    $cid = $value['Id'];
                    echo "
                    <form name='bWriteForm' action='quiz.php'  method='post' target='iframename' style='margin:0px;'>                    
                    <input type='text' name='camname' id='camname' value='$ctitle' style='font-size:9pt; width:300px;' >
                    <input type='text' name='camid' id='camid' value='$cid' style='font-size:9pt; width:300px;' >
                    <input type='submit' value='버튼'>               
                    
                    </form> <br/>";    
                    $o_count++;
                }    
            ?>


소스설명 :  $headers = array("Security-Key: 키값");

헤더에 키값이 필요한 경우가 있는데요 Security-Key 이부분을 api 와 정해진 규칙 name 으로 변경을 한 후

키값 이라는 곳에 키값을 입력해주시면 헤더는 준비가 되겠습니당


소스설명 :  curl_setopt($ch , CURLOPT_SSL_VERIFYPEER , 0 );

api 주소가 https:// 일 경우가 있습니다. 그럴경우 위에같이 설정을 해주셔야 통신이 가능합니다.


소스설명 :  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

위에 소스는 false 이면 네트워크 통신후 결과값이 그대로 출력이 되며 ture 일경우 출력이 되지않습니다.


소스설명:  $decode = json_decode($result, true);
            $array_c = $decode['list'];
            foreach($array_c as $key => $value){    
                    $ctitle = $value['Title'];
                    $cid = $value['Id'];

                 }    

위소스는 json 으로 넘어온 결과값을 for문을 이용한 jsonarray 값을 뽑아 출력하는 소스입니다.


간단하게 설명을 해드렸는데요 만약 잘 모르시거나 이해가 안가시는 부분은댓글로 남겨주시면

답변드리도록 하겠습니당~

'Web Language' 카테고리의 다른 글

[PHP] php post 파일 업로드 만들기  (0) 2015.01.07

+ Recent posts