'Server-Side/PHP'에 해당되는 글 10건

  1. 2010.07.20 post raw data
  2. 2010.07.02 PHP 이미지 crop
  3. 2010.07.02 PHP 파일업로드 1
  4. 2010.04.23 [Code Igniter] layout 적용하기
  5. 2010.03.25 PHP 시간함수( strtotime, time(), date() )
Server-Side/PHP2010. 7. 20. 13:51
file_get_contents("php://input");

POST 방식으로 보낸 http 패킷의 body에 접근할 수 있다.

일반적으로 PHP에서는 form방식 전송을 이용하는 경우가 대부분이지만

body에 JSON으로 만든 raw data를 넣어서 보내는 경우에 서버단에서 접근하려면

위와 같은 명령어를 이용해야 한다.

'Server-Side > PHP' 카테고리의 다른 글

[PHP] MongoDB 사용하기  (0) 2010.08.17
FirePHP 사용법  (0) 2010.07.20
PHP 이미지 crop  (0) 2010.07.02
PHP 파일업로드  (1) 2010.07.02
[Code Igniter] layout 적용하기  (0) 2010.04.23
Posted by 준피
Server-Side/PHP2010. 7. 2. 00:52
<iframe name="cropFrame" width="60" height="50" scrolling="no" style="display:none;"></iframe>
<form action="crop.php" method="post" target="cropFrame">
    <input id="imageSrc" type="hidden" name="imageSrc" value="" />
    <input id="x" type="hidden" name="x" value="0" />
    <input id="y" type="hidden" name="y" value="0" />
    <input id="w" type="hidden" name="w" value="450" />
    <input id="h" type="hidden" name="h" value="200" />
    <input type="submit" value="crop" />
</form>

----------------------------------------------------------------------

<?php
    require_once './FirePHPCore/FirePHP.class.php';
    $firephp = FirePHP::getInstance(true);

    //$firephp->log($_POST['imageSrc']);
    
    $imageSrc = $_POST['imageSrc'];
    $x = $_POST['x'];
    $y = $_POST['y'];
    $w = $_POST['w'];  // 높이
    $h = $_POST['h'];   // 길이

    $target_w = 450;
    $target_h = 200;
    $jpeg_quality = 90;
    $src = substr($imageSrc, 2);
    $img_r = imagecreatefromjpeg($src);
    $dst_r = ImageCreateTrueColor($w, $h);

    imagecopyresampled(
        $dst_r,
        $img_r,
        0, 0, $x, $y,
        $target_w, $target_h, $w, $h
    );

    $output_filename = './pic/test.jpg';

    header('Content-type: image/jpeg');
    imagejpeg($dst_r, $output_filename, $jpeg_quality);
?>

imagecreatefromjpeg($src);
 - 해당 경로의 파일을 jpeg 이미지로 생성함

ImageCreateTrueColor($w, $h);
 - 파라미터로 받은 넓이와 높이의 크기만한 검정색 이미지를 생성함

imagecopyresampled(
    $dst_r, // 타겟 이미지
    $img_r,  // 복사할 이미지
    0,         // 타겟 이미지의 x좌표
    0,         // 타겟 이미지의 y좌표
    $x,       // 원본 이미지의 x좌표
    $y,       // 원본 이미지의 y좌표
    $target_w, // 타겟 이미지의 넓이
    $target_h,  // 타겟 이미지의 높이
    $w,      // 원본 이미지의 넓이
    $h        // 원본 이미지의 높이
);
 - 이미지의 크기를 변경해서 복사함
 - 이미지의 x, y 좌표는 좌상단 모서리에서 시작함

'Server-Side > PHP' 카테고리의 다른 글

FirePHP 사용법  (0) 2010.07.20
post raw data  (0) 2010.07.20
PHP 파일업로드  (1) 2010.07.02
[Code Igniter] layout 적용하기  (0) 2010.04.23
PHP 시간함수( strtotime, time(), date() )  (0) 2010.03.25
Posted by 준피
Server-Side/PHP2010. 7. 2. 00:48
<iframe name="uploadFrame" width="60" height="50" scrolling="no" style="display:none;"></iframe>
<form action="upload.php" method="post" enctype="multipart/form-data" target="uploadFrame"/>
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
    <label for="userfile">Upload a file:</label>
    <input type="file" name="userfile" id="userfile" />
    <input type="submit" value="Send File" />
</form>

---------------------------------------------------------------------

<?php
file_exists($filepath);
 - 파일경로를 파라미터로 넘겨주고 존재 여부를 Boolean으로 받음

 move_uploaded_file($_FILES['userfile']['tmp_name'], $path);
 - 파일을 해당 경로에 업로드함
?>



'Server-Side > PHP' 카테고리의 다른 글

FirePHP 사용법  (0) 2010.07.20
post raw data  (0) 2010.07.20
PHP 이미지 crop  (0) 2010.07.02
[Code Igniter] layout 적용하기  (0) 2010.04.23
PHP 시간함수( strtotime, time(), date() )  (0) 2010.03.25
Posted by 준피
Server-Side/PHP2010. 4. 23. 10:04
http://codeigniter.com/wiki/layout_library/ 에서 Layout Library를 구하고 사용법을 확인할 수 있다.

1. /application/libraries/Layout.php 에 다음 소스를 저장한다.
<?php  
if (!defined('BASEPATH')) exit('No direct script access allowed');
 
class Layout
{
 
var $obj;
var $layout;
 
function Layout($layout = "layout_main")
{
$this->obj =& get_instance();
$this->layout = $layout;
}
 
function setLayout($layout)
{
$this->layout = $layout;
}
 
function view($view, $data=null, $return=false)
{
$loadedData = array();
$loadedData['content_for_layout'] = $this->obj->load->view($view,$data,true);
 
if($return)
{
$output = $this->obj->load->view($this->layout, $loadedData, true);
return $output;
}
else
{
$this->obj->load->view($this->layout, $loadedData, false);
}
}
}
?
2. /application/controllers/intro.php (임의로 만든 파일) 의 생성자에 다음 코드를 넣는다.
<?php

class
Intro extends Controller {

function __construct()
{
parent::Controller();

$this->load->library('layout', 'layouts/default');
$this->layout->setLayout('layouts/default');
}
function index()
{
$this->layout->view('layouts/default');
}
}

3. /application/views/layouts/default.php 에 다음 코드를 넣는다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CI 레이아웃</title>
<style type="text/css">
.header {
width: 760px;
height: 50px;
border: 1px solid #CCCCCC;
}
.navigation {
float: left;
}
.navigation li {
float: left;
margin-right: 10px;
list-style: none;
cursor: pointer;
}
</style>
</head>
<body>
<div class="header">
<ul class="navigation">
<li id="home">Home</li>
<li id="send">Send</li>
</ul>
</div>
</body>
</html>

'Server-Side > PHP' 카테고리의 다른 글

FirePHP 사용법  (0) 2010.07.20
post raw data  (0) 2010.07.20
PHP 이미지 crop  (0) 2010.07.02
PHP 파일업로드  (1) 2010.07.02
PHP 시간함수( strtotime, time(), date() )  (0) 2010.03.25
Posted by 준피
Server-Side/PHP2010. 3. 25. 21:49
echo strtotime("now"); -> 1269520600

echo strtotime("+1 hour"); -> 1269524200

echo time(); -> 1269520600

위의 결과는 모두 timestamp 형태이다.

---------------------------------------------

echo date( 'Y-m-d H:i:s', time() );
-> 2010-03-25 21:36:40

위의 결과는 string 형태이다.

---------------------------------------------

$timeString = date( 'Y-m-d H:i:s', time() );

echo $timeString; -> 2010-03-25 21:44:32

$time = strtotime($timeString);

echo $time; -> 1269520600

date()와 strtotime() 만 있으면 시간을 string과 timestamp로
자유롭게 바꿀 수 있다.

'Server-Side > PHP' 카테고리의 다른 글

FirePHP 사용법  (0) 2010.07.20
post raw data  (0) 2010.07.20
PHP 이미지 crop  (0) 2010.07.02
PHP 파일업로드  (1) 2010.07.02
[Code Igniter] layout 적용하기  (0) 2010.04.23
Posted by 준피