ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î

CURL »ç¿ë¹ý
9³â Àü
cURL (Client URL Library Functions)
•Á¦ÀÛÀÚ Daniel Stenberg ÀÇ ¼³¸íÀ» ±×´ë·Î º¯¿ªÇϸé
curl is a comand line tool for transferring files with URL syntax
Ä¿¸Çµå¶óÀο¡¼­ URL ¹®¹ýÀ» »ç¿ëÇÏ¿© ÆÄÀÏÀ» Àü¼Û ÇÁ·Î±×·¥
•³»°¡ ¿øÇÏ´Â ÁÖ¼ÒÀÇ ÆäÀÌÁö¿¡¼­ ³»°¡ ÀÓÀÇÀÇ °ªÀ» ³Ö°í ±× ³ÖÀº °ªÀ¸·Î ÆäÀÌÁö¿¡¼­ ¸®ÅϵǴ °ªÀ» ¹Þ¾Æ¿À´Â ¿ªÇÒÀ» ÇÑ´Ù.
•PHP¿¡¼­ cURLÀ» »ç¿ëÇÏ·Á´Â »ç¶÷µé ´ëºÎºÐÀÌ ¾Æ¸¶µµ HTTPS Á¢¼Ó ¶§¹®ÀÏ °ÍÀÌ´Ù.
¼ÒÄÏ ¶Ç´Â ±× ¿Ü ¿©·¯°¡Áö Á¢¼Ó¹æ¹ýÀÌ Àִµ¥ ±»ÀÌ cURLÀ» »ç¿ëÇÏ´Â °Ç ¼Óµµ¸é¿¡¼­µµ ºü¸£°í HTTPSµµ ½±°Ô Á¢¼ÓÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.
•cURL ¸ðµâÀ» ¼­¹ö¿¡ ¼³Ä¡ÇØ¾ß ÇÕ´Ï´Ù.(¸®´ª½º - curl.so, À©µµ¿ì - php_curl.dll È®Àå¸ðµâ ÇÊ¿ä)


cURL·Î °¡´ÉÇÑ ÀÏ
•HTTPS certificates
•HTTP POST
•HTTP PUT
•FTP upload
•HTTP Form
•cookie
•authentication


cURL, Client URL Library Functions
1.curl_init : ¼¼¼Ç ÃʱâÈ­, Çڵ鰪 ¸®ÅÏ
2.curl_setopt : ¿É¼Ç ¼¼ÆÃ
3.curl_exec : curlÀ» ½ÇÇà
4.curl_errno : ¿¡·¯¹øÈ£¸¦ °¡Á®¿Â´Ù.
5.curl_error : ¿¡·¯ ¸Þ½ÃÁö¸¦ °¡Á®¿Â´Ù.
6.curl_getinfo : »óÅ Á¤º¸¸¦ ¸®ÅÏÇÑ´Ù.
7.curl_close : curl ¼¼¼ÇÀ» ´Ý´Â´Ù


[¿¹Á¦1 : POST¹æ½ÄÀ¸·Î µ¥ÀÌÅÍ Àü¼Û(simple)]

<?
$post_data = array(
"name" => "È«±æµ¿",
"birthday" => "1980-08-20"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, http://www.example.com);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_exec($ch);
?>


[¿¹Á¦2: POST¹æ½ÄÀ¸·Î µ¥ÀÌÅÍ Àü¼Û(function)]

<?
function fetch_page($url,$param,$cookies,$referer_url){
if(strlen(trim($referer_url)) == 0) $referer_url= $url;
$curlsession = curl_init ();
curl_setopt ($curlsession, CURLOPT_URL, \"$url\");
curl_setopt ($curlsession, CURLOPT_POST, 1);
curl_setopt ($curlsession, CURLOPT_POSTFIELDS, \"$param\");
curl_setopt ($curlsession, CURLOPT_POSTFIELDSIZE, 0);
curl_setopt ($curlsession, CURLOPT_TIMEOUT, 60);
if($cookies && $cookies!=\"\"){
curl_setopt ($curlsession, CURLOPT_COOKIE, \"$cookies\");
}
curl_setopt ($curlsession, CURLOPT_HEADER, 1); //Çì´õ°ªÀ» °¡Á®¿À±âÀ§ÇØ »ç¿ëÇÕ´Ï´Ù. ÄíÅ°¸¦ °¡Á®¿À·Á°í¿ä.
curl_setopt ($curlsession, CURLOPT_USERAGENT, \"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)\");
curl_setopt ($curlsession, CURLOPT_REFERER, \"$referer_url\");
ob_start();
$res = curl_exec ($curlsession);
$buffer = ob_get_contents();
ob_end_clean();
if (!$buffer) {
$returnVal = \"Curl Fetch Error : \".curl_error($curlsession);
}else{
$returnVal = $buffer;
}
curl_close($curlsession);
return $returnVal;
}
?>


[¿¹Á¦3 : ÆÄÀÏ Àü¼Û]

<?
$post_data['data[0]'] = "@image/img_01.jpg";
$post_data['data[0]'] = "@image/img_02.jpg";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, http://www.example.com/upload.php);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$postResult = curl_exec($ch);
?>


[¿¹Á¦4 : https Á¢¼Ó]

<?
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,"https://www.test.com"); //Á¢¼ÓÇÒ URL ÁÖ¼Ò
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // ÀÎÁõ¼­ üũ°°Àºµ¥ true ½Ã ¾ÈµÇ´Â °æ¿ì°¡ ¸¹´Ù.
// default °ªÀÌ true À̱⶧¹®¿¡ À̺κÐÀ» Á¶½É (https Á¢¼Ó½Ã¿¡ ÇÊ¿ä)
curl_setopt ($ch, CURLOPT_SSLVERSION,3); // SSL ¹öÁ¯ (https Á¢¼Ó½Ã¿¡ ÇÊ¿ä)
curl_setopt ($ch, CURLOPT_HEADER, 0); // Çì´õ Ãâ·Â ¿©ºÎ
curl_setopt ($ch, CURLOPT_POST, 1); // Post Get Á¢¼Ó ¿©ºÎ
curl_setopt ($ch, CURLOPT_POSTFIELDS, "var1=str1&var2=str2"); // Post °ª Get ¹æ½Äó·³Àû´Â´Ù.
curl_setopt ($ch, CURLOPT_TIMEOUT, 30); // TimeOut °ª
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); // °á°ú°ªÀ» ¹ÞÀ»°ÍÀÎÁö
$result = curl_exec ($ch);
curl_close ($ch);
echo $result;
?>



[¿¹Á¦5 : curlÀ» ÀÌ¿ëÇÑ Gmail ·Î±×ÀÎ]

$src = "https://".$gmailId.":".$gmailPw."@mail.google.com/mail/feed/atom";
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, 'My Agent Name');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
$res = curl_exec($ch);
curl_close($ch);
/** °á°ú´Â Atom xml Çü½ÄÀÌ´Ù. DOM ¶Ç´Â xml ÆÄ½Ì functionÀ» ÀÌ¿ëÇؼ­ ÆĽÌÇÏ¸é µË´Ï´Ù. **/
echo $res;
?>


[¿¹Á¦6 : cURLÀ» ÀÌ¿ëÇÑ À¥ÆäÀÌÁö °¡Á®¿À±â]

<?php
function get_content($url) {
$agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)';
$curlsession = curl_init ();
curl_setopt ($curlsession, CURLOPT_URL, $url);
curl_setopt ($curlsession, CURLOPT_HEADER, 0);
curl_setopt ($curlsession, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curlsession, CURLOPT_POST, 0);
curl_setopt ($curlsession, CURLOPT_USERAGENT, $agent);
curl_setopt ($curlsession, CURLOPT_REFERER, "");
curl_setopt ($curlsession, CURLOPT_TIMEOUT, 3);
$buffer = curl_exec ($curlsession);
$cinfo = curl_getinfo($curlsession);
curl_close($curlsession);
if ($cinfo['http_code'] != 200)
{
return "";
}
return $buffer;
}
?>


curl_close

•±â´É : cURL ¼¼¼ÇÀ» ´Ý´Â´Ù.
•±¸¹® : curl_close(resource ch)
•cURL ¼¼¼ÇÀ» ´Ý°í, ¸®¼Ò½º¸¦ ºñ¿öÁØ´Ù. ¶ÇÇÑ cURL ÇÚµéÀº »èÁ¦µÈ´Ù.

•±â´É : ¸¶Áö¸· ¿¡·¯ ¹øÈ£¸¦ ¸®ÅÏÇØ ÁØ´Ù.
•±¸¹® : curl_errno(resource ch)
•¸¸ÀÏ ¿¬»ê ÈÄ ¾î¶°ÇÑ ¿¡·¯µµ ¹ßÇàÇÏÁö ¾Ê¾Ò´Ù¸é 0(zero)À» ¸®ÅÏÇÑ´Ù.


Error Code

There exists a bunch of different error codes and their corresponding error messages that may appear during bad conditions. At the time of this writing, the exit codes are:

•1 - Unsupported protocol. This build of curl has no support for this protocol.


•2 - Failed to initialize.


•3 - URL malformat. The syntax was not correct.
À߸øµÈ Çü½ÄÀÇ µµ¸ÞÀÎ


•5 - Couldn't resolve proxy. The given proxy host could not be resolved.


•6 - Couldn't resolve host. The given remote host was not resolved.
ÇØ´ç µµ¸ÞÀÎÀ» ¸øã´Â´Ù´Â ¶æ
³×ÀÓ¼­¹ö°¡ Á¦´ë·Î µî·ÏµÇ¾î ÀÖ´ÂÁö È®ÀÎÇÏ°í µµ¸ÞÀεµ Á¤È®ÇÑÁö È®ÀÎÇÒ °Í.


•7 - Failed to connect to host.


•8 - FTP weird server reply. The server sent data curl couldn't parse.


•9 - FTP access denied. The server denied login or denied access to the particular resource or directory you wanted to reach. Most often you tried to change to a directory that doesn't exist on the server.


•11 - FTP weird PASS reply. Curl couldn't parse the reply sent to the PASS request.


•13 - FTP weird PASV reply, Curl couldn't parse the reply sent to the PASV request.


•14 - FTP weird 227 format. Curl couldn't parse the 227-line the server sent.


•15 - FTP can't get host. Couldn't resolve the host IP we got in the 227-line.


•17 - FTP couldn't set binary. Couldn't change transfer method to binary.


•18 - Partial file. Only a part of the file was transferred.


•19 - FTP couldn't download/access the given file, the RETR (or similar) command failed.


•21 - FTP quote error. A quote command returned error from the server.


•22 - HTTP page not retrieved. The requested url was not found or returned another error with the HTTP error code being 400 or above. This return code only appears if -f/--fail is used.


•23 - Write error. Curl couldn't write data to a local filesystem or similar.


•25 - FTP couldn't STOR file. The server denied the STOR operation, used for FTP uploading.


•26 - Read error. Various reading problems.


•27 - Out of memory. A memory allocation request failed.


•28 - Operation timeout. The specified time-out period was reached according to the conditions.


•30 - FTP PORT failed. The PORT command failed. Not all FTP servers support the PORT command, try doing a transfer using PASV instead!


•31 - FTP couldn't use REST. The REST command failed. This command is used for resumed FTP transfers.


•33 - HTTP range error. The range "command" didn't work.


•34 - HTTP post error. Internal post-request generation error.


•35 - SSL connect error. The SSL handshaking failed.


•36 - FTP bad download resume. Couldn't continue an earlier aborted download.


•37 - FILE couldn't read file. Failed to open the file. Permissions?


•38 - LDAP cannot bind. LDAP bind operation failed.


•39 - LDAP search failed.


•41 - Function not found. A required LDAP function was not found.


•42 - Aborted by callback. An application told curl to abort the operation.


•43 - Internal error. A function was called with a bad parameter.


•45 - Interface error. A specified outgoing interface could not be used.


•47 - Too many redirects. When following redirects, curl hit the maximum amount.


•48 - Unknown TELNET option specified.


•49 - Malformed telnet option.


•51 - The peer's SSL certificate or SSH MD5 fingerprint was not ok
¿¡·¯ ¸Þ½ÃÁö) SSL: certificate subject name 'www.test.co.kr' does not match target host name 'test.co.kr'
ÇØ°á1) ÀÎÁõ¼­ ¹ß±Þ¹ÞÀº ÁּҷΠȣÃâÇϰųª
ÇØ°á2) ¼³Á¤À¸·Î Á¦¾î

$soapClient->setOpt('curl', CURLOPT_SSL_VERIFYHOST, 0);


•52 - The server didn't reply anything, which here is considered an error.


•53 - SSL crypto engine not found


•54 - Cannot set SSL crypto engine as default


•55 - Failed sending network data


•56 - Failure in receiving network data


•58 - Problem with the local certificate


•59 - Couldn't use specified SSL cipher


•60 - Peer certificate cannot be authenticated with known CA certificates
ÀÎÁõ¼­ ½Å·Ú °ËÁõ¿¡ ½ÇÆÐÇÑ °æ¿ì´Ù. (ÅëÇÕÀÎÁõ¼­, ¹øµé°ú °ü·Ã ÀÖ´Â µí)
¿¡·¯ ¸Þ½ÃÁö) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
ÇØ°á) ½Å·Ú °ËÁõÀ» ÇÏÁö ¾Êµµ·Ï ¼³Á¤.
»óÈ£ ¼­¹ö°¡ ½Å·ÚµÈ´Ù¸é ±»ÀÌ ½Å·Ú¼ºÀ» °ËÁõÇÏÁö ¾Ê¾Æµµ µÈ´Ù.
$soapClient->setOpt('curl', CURLOPT_SSL_VERIFYPEER, 0);


•61 - Unrecognized transfer encoding


•62 - Invalid LDAP URL


•63 - Maximum file size exceeded


•64 - Requested FTP SSL level failed


•65 - Sending the data requires a rewind that failed


•66 - Failed to initialise SSL Engine


•67 - User, password or similar was not accepted and curl failed to login


•68 - File not found on TFTP server


•69 - Permission problem on TFTP server


•70 - Out of disk space on TFTP server


•71 - Illegal TFTP operation


•72 - Unknown TFTP transfer ID


•73 - File already exists (TFTP)


•74 - No such user (TFTP)


•75 - Character conversion failed


•76 - Character conversion functions required


•77 - Problem with reading the SSL CA cert (path? access rights?)


•78 - The resource referenced in the URL does not exist


•79 - An unspecified error occurred during the SSH session


•80 - Failed to shut down the SSL connection


•XX - There will appear more error codes here in future releases. The existing ones are meant to never change



curl_error
•±â´É : ±× ÇöÀçÀÇ ¼¼¼Ç¿¡ ´ëÇÑ ¸¶Áö¸· ¿¡·¯ ¸Þ½ÃÁö¸¦ µÇµ¹·Á ÁØ´Ù.
•±¸¹® : curl_error(resource ch)
•¸¸ÀÏ cURL ¿¬»ê ÈÄ ¿¡·¯¸¦ ¹ß»ýÇÏ¸é ¿¡·¯¸Þ½ÃÁö¸¦ µÇµ¹·Á ÁÖ¸ç, ¿¡·¯°¡ ¹ß»ýÇÏÁö ¾ÊÀ¸¸é ºó¹®ÀÚ¿­À» µÇµ¹·Á ÁØ´Ù.



curl_init
•±â´É : ¼¼¼ÇÀ» ÃʱâÈ­ÇÏ°í curl_setopt(), curl_exec() ±×¸®°í curl_close ÇÔ¼öµé°ú ÇÔ²² »ç¿ëÇϱâ À§ÇØ CURL Çڵ鰪À» ¸®ÅÏÇØÁØ´Ù.
•±¸¹® : resource curl_init([string $url])
•¿É¼Ç Url ¸Å°³º¯¼ö°¡ Æ÷ÇԵǾî ÀÖ´Ù¸é CURLOPT_URL ¿É¼ÇÀº ¸Å°³º¯¼öÀÇ °ªÀ» ¼ÂÆÃÇÒ °ÍÀÌ´Ù.
curl_setopt()¸¦ ÀÌ¿ëÇÏ¿© ¼ÂÆÃÇÒ ¼ö ÀÖ´Ù.
•¸®ÅÏ : Çڵ鰪 or False
•¿¹Á¦ : »õ·Î¿î curl¼¼¼ÇÀ» ÃʱâÈ­ÇÏ°í À¥ÆäÀÌÁö¸¦ ÆäĪÇÑ´Ù.
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
?>


curl_exec
•±â´É : ¼¼¼ÇÀ» ½ÌÇàÇÑ´Ù.
•±¸¹® : curl_exec(resource ch)
•ÀÌ ÇÔ¼ö´Â cURL ¼¼¼ÇÀ» ÃʱâÈ­ÇÏ°í ¼¼¼ÇÀÇ ¿É¼ÇµéÀ» ¼ÂÆÃÇÑ ÈÄ¿¡ ºÒ·ÁÁ®¾ß¸¸ ÇÑ´Ù.
º» ÇÔ¼öÀÇ ¸ñÀûÀº ´Ü¼øÈ÷ ¹Ì¸® Á¤ÀÇµÈ cURL ¼¼¼ÇÀ» ½ÇÇàÇϱâ À§ÇÑ °ÍÀ̱⠶§¹®ÀÌ´Ù.



curl_getinfo
•±â´É : ƯÁ¤ Àü¼Û¿¡ ´ëÇÑ Á¤º¸¸¦ ¹Þ´Â´Ù.
•±¸¹® : crul_getinfo(resource ch [, int opt])






curl_setopt

CURLOPT_FOLLOWLOCATION

TRUE to follow any "Location: " header that the server sends as part of the HTTP header (note this is recursive, PHP will follow as many "Location: " headers that it is sent, unless CURLOPT_MAXREDIRS is set).
FOLLOWLOCATION ¿É¼Ç ¼³Á¤. À§Ä¡ Çì´õ°¡ Á¸ÀçÇÏ¸é µû¶ó°£´Ù.
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, tru


CURLOPT_HEADER

TRUE to include the header in the output.
Çì´õ Á¤º¸¸¦ ¹Þ±â ¿øÇÑ´Ù¸é ÀÌ ¿É¼ÇÀ» Ãß°¡ÇÑ´Ù.
VALUE : 1 OR true
curl_setopt($ch, CURLOPT_HEADER, false);


CURLOPT_NOBODY
TRUE to exclude the body from the output.
º»¹®ÀÇ Á¤º¸¸¦ ¹Þ±â ¿øÇÏÁö ¾Ê´Â´Ù¸é ÀÌ ¿É¼ÇÀ» Ãß°¡ÇÑ´Ù.


CURLOPT_POST
TRUE to do a regular HTTP POST. This POST is the normal application/x-www-form-urlencoded kind, most commonly used by HTML forms.
Àü¼Û ¸Þ¼Òµå¸¦ ¼³Á¤ÇÑ´Ù.
VALUE : 1-POST, 0-GET
curl_setopt($ch, CURLOPT_POST,1);


CURLOPT_RETURNTRANSFER
TRUE to return the transfer as a string of the return value of curl_exec() instead of outputting it out directly.
REQUEST ¿¡ ´ëÇÑ °á°ú°ªÀ» ¹ÞÀ» °ÇÁö üũ
(WRITERUNCTION ÄݹéÀ» »ç¿ëÇÏ´Â ´ë½Å, curl_exec ÇÔ¼öÀ» À§ÇÑ ¹Ýȯ °ªÀ¸·Î ¿ø°ÝÁö ³»¿ëÀ» ¹Þ´Â´Ù.)
#Resource ID ÇüÅ·Π³Ñ¾î¿È :: ³»Àå ÇÔ¼ö curl_errno ·Î üũ
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);


CURLOPT_SSL_VERIFYPEER
FALSE to stop cURL from verifying the peer's certificate. Alternate certificates to verify against can be specified with the CURLOPT_CAINFO option or a certificate directory can be specified with the CURLOPT_CAPATH option. CURLOPT_SSL_VERIFYHOST may also need to be TRUE or FALSE if CURLOPT_SSL_VERIFYPEER is disabled (it defaults to 2).
ÀÎÁõ¼­ üũ°°Àºµ¥ true ½Ã ¾ÈµÇ´Â °æ¿ì°¡ ¸¹´Ù.
default °ªÀÌ true À̱⶧¹®¿¡ ÀÌ ºÎºÐÀ» Á¶½É (https Á¢¼Ó½Ã¿¡ ÇÊ¿ä)
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);


CURLOPT_PORT
An alternative port number to connect to.


CURLOPT_SSLVERSION
The SSL version (2 or 3) to use. By default PHP will try to determine this itself, although in some cases this must be set manually.
SSL ¹öÁ¯ (https Á¢¼Ó½Ã¿¡ ÇÊ¿ä)
curl_setopt ($ch, CURLOPT_SSLVERSION,3);


CURLOPT_TIMEOUT
The maximum number of seconds to allow cURL functions to execute.
REQUEST ¿¡ ´ëÇÑ °á°ú°ªÀ» ¹Þ´Â ½Ã°£Å¸ÀÓ ¼³Á¤ÇÑ´Ù.
curl_setopt($ch, CURLOPT_TIMEOUT,100);


CURLOPT_POSTFIELDS
The full data to post in a HTTP "POST" operation. To post a file, prepend a filename with @ and use the full path.
POST ¸Þ¼Òµå¶ó¸é ÆĶó¹ÌÅÍ °ªµéÀ» ÀÌ ¿É¼Ç¿¡ Á¤ÀÇÇÏ¸é µÈ´Ù.
curl_setopt($cu, CURLOPT_POSTFIELDS,$vars); // º¸³¾ µ¥ÀÌŸ Çü½ÄÀº GET ¹æ½ÄÀ¸·Î ¼³Á¤
ex) $vars = "arg=$arg1&arg2=$arg2&arg3=$arg3";


CURLOPT_REFERER
The contents of the "Referer: " header to be used in a HTTP request.
¸®ÆÛ·¯ Á¤º¸¸¦ ¼³Á¤


CURLOPT_URL
The URL to fetch. This can also be set when initializing a session with curl_init().
Á¢¼ÓÇÒ urlÁ¤º¸¸¦ ¼³Á¤
curl_init()¿¡¼­ url¸¦ ¼³Á¤ÇÏ¸é º°µµ ¼³Á¤ÀÌ ÇÊ¿ä¾ø´Ù.
curl_setopt($ch, CURLOPT_URL, 'http://www.exsample.com');


CURLOPT_USERAGENT
The contents of the "User-Agent: " header to be used in a HTTP request.
¿¡ÀÌÀüÆ® Á¤º¸¸¦ ¼³Á¤
curl_setopt($ch, CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
ÃßõÃßõ : 1187 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
2,615
Ŭ¸¯½Ã url º¹»çÇϱâ
2,614
CSS Hover ¸¦ ÀÌ¿ëÇÑ ±ò²ûÇÑ ÆäÀÌ¡
2,613
½ºÅ©·ÑÇصµ »ó´Ü¿¡ °íÁ¤µÇ´Â ¸Þ´º ¸¸µé±â
2,612
[Á¤±ÔÇ¥Çö½Ä] php ¹®ÀÚ¿­¿¡¼­ ¼ýÀÚ¸¸ ÃßÃâ
2,611
HTML5 Video/Audio CurrentTime/Ended ¹®Á¦Á¡
2,610
audio ¿¤¸®¸ÕÆ®ÀÇ onplay À̺¥Æ® ó¸® ½Ã ÁÖÀÇ»çÇ×
2,609
PHP - $ SERVER ȯ°æº¯¼ö
2,608
Example #1 print ¿¹Á¦
2,607
php `/`±âÁØÀ¸·Î ÀÚ¸£±â
2,606
php ¹®ÀÚ¿­ ÇÔ¼ö
2,605
ÁÖ¼Òµî ÀÎÄÚµùÇؼ­ º¸³»±â
2,604
jquery load() ¸Þ¼Òµå (ºñµ¿±â À¥ÆäÀÌÁö ·Îµå)
2,603
[Ajax] ajax ¿¹Á¦2
2,602
[Ajax] ajax ¿¹Á¦1
2,601
[Ajax] JSON (Javascript Object Notation) »ç¿ëÇϱâ
2,600
[jQuery] jQuery.ajax() HTTP ºñµ¿±â µ¥ÀÌÅÍ ±³È¯
2,599
[jQuery] jQuery fadeIn(), fadeOut(), fadeToggle(), fadeTo() ÀÌÇØÇϱâ
2,598
IE6~7 ¹®Á¦ÇØ°á
2,597
Windows Media Player Á¦¾î
2,596
³ª´®°íµñ ±¸±Û À¥ÆùÆ®(Webfont) »ç¿ëÇϱâ
2,595
PHP ¹®ÀÚ¿­ ³ª´©±â - explode()
2,594
[PHP] ceil() , floor(), round() ÇÔ¼ö
2,593
PHP split ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ ¹®ÀÚ¿­ ºÐ¸®
2,592
[CSS] :before,:after È°¿ëÇϱâ - ±¸ºÐ¼±
2,591
CSS border-image ¼Ó¼º
2,590
jquery ±âº»¹®¹ý
2,589
[ÀÚ¹Ù½ºÅ©¸³Æ®] ¼­¼­È÷ ³ªÅ¸³ª°í »ç¶óÁö´Â â
2,588
php¿¡¼­ À̹ÌÁö ÆÄÀÏÀ» ·£´ýÇÏ°Ô ºÒ·¯¿À±â
2,587
php¿¡¼­ sendmail Å×½ºÆ® Çϱâ
2,586
phpÀÇ number format ÇÔ¼ö - ¼ýÀÚ¸¦ õ´ÜÀ§·Î ±¸ºÐ
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.