PHPÀÇ ¼Ò°³

¾çÀϵî / FBISKR@orgio.net

 

     

1. À¥ ÇÁ·Î±×·¡¹Ö

    ¾È³çÇϼ¼¿ä, »õÇØ°¡ ¹à¾Æ¼­ ¹ú½á 4¿ùÀÔ´Ï´Ù. ¸¹Àº ±â´ë ¼Ó¿¡¼­ 2000³âÀ» ¸Â¾Æ ÀÌÁ¦´Â ´ã´ãÈ÷ »õ õ³âÀ» »ì°í ÀÖ½À´Ï´Ù. ÄÄÇ»ÅÍ ¿ª»ç´Â ÀÌÁ¦ ¹Ý ¹é³âÀ» °« ³Ñ¾ú½À´Ï´Ù. ÇÏÁö¸¸ ¸¹Àº »ç¶÷µéÀº ±× ¾î¶² °Íº¸´Ùµµ ¸¹Àº ¹ßÀüÀ» ÀÌ·ç¾ú´Ù°í ÇÕ´Ï´Ù. ¼ö¸¹Àº ¿î¿µÃ¼Á¦¿Í, ÄÄÆÄÀÏ·¯, ÀÀ¿ëÇÁ·Î±×·¥, ±×¸®°í °ÔÀÓ±îÁö. ¼ö ¸¹Àº ÇÁ·Î±×·¥ÀÌ ½ÃÀå¿¡ ³ª¿Í¼­, ¶Ç ¿ì¸®ÀÇ ±â¾ï ¼Ó¿¡¼­ ÀؾîÁ³½À´Ï´Ù. ¿äÁòÀ» »ìÆì º¸¸é µ¥½ºÅ©Å¾¿ëÀ¸·Î´Â Æø³ÐÀº »ç¿ëÀÚ ÃþÀ» È®º¸ÇÏ°í ÀÖ´Â ºñÁÖ¾ó º£ÀÌÁ÷, Ŭ¶óÀ̾ðÆ®/¼­¹ö ȯ°æÀÇ ±¸Ãà¿¡ ¿ëÀÌÇÑ ÆÄ¿öÇÊ´õ, °ÔÀÓ°³¹ß¿¡ ¿ëÀÌÇÑ ºñÁÖ¾ó ¾¾, ±×¸®°í »ç¿ëÀÚµéÀÇ Æ¯¼º¿¡ ¸Â´Â ¿©·¯ °¡Áö ¾ð¾îµéÀÌ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.

    ¶Ç, ±× ºÐ¾ß ¶ÇÇÑ ¾Æ±âÀÚ±â ÇÑ ÇÁ·Î±×·¥¿¡¼­ºÎÅÍ 1, 2³â¾¿ÀÇ °³¹ß±â°£À» °¡Áö´Â ÇÁ·Î±×·¥µéµµ ÀÖ½À´Ï´Ù. ¿ì¸®´Â ¿©±â¼­ À¥ÇÁ·Î±×·¥À̶ó´Â ¿µ¿ªÀ» »ìÆ캸°íÀÚ ÇÕ´Ï´Ù. ¸î ³â Àü ¸¸Çصµ ¿ì¸®¿¡°Ô »ý¼ÒÇÑ ´Ü¾îÀÎ CGI¶ó´Â Á¦¸ñÀ¸·Î ¼­Á¡ÀÇ ÇÑ ÀÚ¸®¸¦ Â÷ÁöÇÏ´ø Ã¥µéÀÌ ÀÖ¾ú½À´Ï´Ù. ±× ºÎ·ùÀÇ Ã¥µéÀº À¯´Ð½º »ó¿¡¼­ ¾¾¸¦ ÀÌ¿ëÇØ ¾î¶»°Ô À¥¿¡¼­ÀÇ ÇÁ·Î±×·¥À» ÀÛ¼ºÇϴ°¡ ÇÏ´Â ¹æ¹ýµéÀ» ¼³¸íÇß½À´Ï´Ù. ±×¸®°í ¾ÆÁÖ ÀαâÀÖ´Â ÆÞÀ̶ó´Â ¾ð¾î°¡ CGI ÇÁ·Î±×·¥ÀÇ µµ±¸·Î½á »ç¿ë µÇ¿Ô½À´Ï´Ù.

    ¼ÒÇÁÆ® ¿þ¾î °øÇп¡¼­ º¸¸é ¾î¶² °ÍÀÌ °¡Àå ÈǸ¢ÇÑ µµ±¸Àΰ¡ÇÏ´Â Áú¹®À» ´øÁý´Ï´Ù. ¡®¸ÁÄ¡¡¯,¡®Å顯,¡®µå¶óÀ̹ö¡¯ ȤÀº ¡®Àü±âÅ顯 ±îÁö »ìÆ캸¸é ¾î´À °ÍÀÌ °¡Àå ÈǸ¢ÇÑ µµ±¸Àΰ¡ ÇÏ´Â Áú¹®Àº ±×¸® ÇÕ´çÇÏÁö ¾Ê½À´Ï´Ù. ¿Ö³ÄÇÏ¸é ³ª»ç¸¦ Á¶À̴µ¥ Àü±âÅéÀ» »ç¿ëÇÒ ¼ö ¾ø°í, ¸øÀ» ¹Ú´Âµ¥ µå¶óÀ̹ö¸¦ »ç¿ëÇÒ ¼ö ¾øÀ¸¸ç, ³ª¹«¸¦ ÀÚ¸£´Âµ¥, ¸ÁÄ¡¸¦ »ç¿ëÇÒ ¼ö ¾ø±â ¶§¹®ÀÔ´Ï´Ù. ±×·¡¼­ ´Ù½Ã Áú¹®À» ´øÁö¸é "¾î¶°ÇÑ ÀÛ¾÷¿¡ ¾î¶°ÇÑ µµ±¸°¡ °¡Àå ÈǸ¢ÇÑ°¡?" ¶ó´Â Áú¹®À» ´øÁú ¼ö ÀÖ½À´Ï´Ù. ¿ì¸®°¡ ¸»ÇÏ´Â CGI´Â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¿¡¼­ Àü´ÞµÇ´Â ÀڷḦ ¼­¹ö¿¡¼­ ó¸®ÇÏ´Â ±×¾ß¸»·Î °ÔÀÌÆ®¿´½À´Ï´Ù. ÇÏÁö¸¸ À¥ÀÇ Æ¯¼º»ó µðÀÚÀΰú ÇÁ·Î±×·¥°£ÀÇ µ¶¸³Àº ºÒ°¡´ÉÇß½À´Ï´Ù. ÇÁ·Î±×·¥ ¾È¿¡¼­ µðÀÚÀÎµÈ ¿ä¼Òµé(Å×±×)¸¦ Ãâ·ÂÇØ¾ß Ç߱⠶§¹®ÀÔ´Ï´Ù. ÇÏÁö¸¸ ÀÌ·¯ÇÑ ÀÛ¾÷ ÆÐÅÏ¿¡µµ º¯È­°¡ ÀϾú½À´Ï´Ù. ¹Ù·Î PHPÀÇ µîÀåÀÌ ±× °ÍÀÔ´Ï´Ù.

 

2. PHP

    PHP´Â Rasmus Lerdorf<rasmus@lerdorf.on.ca>¾¾°¡ ¸¸µç ½ºÅ©¸³Æ® ¾ð¾îÀÔ´Ï´Ù. Ãʱ⿡´Â À¥¿¡¼­ Àڱ⸸ÀÇ µ¿ÀûÀÎ ÆäÀÌÁö¸¦ ¸¸µé±â À§ÇØ ¾à°£ÀÇ ±â´ÉÀ» °¡Áö°í ÀÖ¾ú½À´Ï´Ù. ±× ´ç½ÃÀÇ À̸§Àº PHP/FIÀÌ ¿´½À´Ï´Ù. Áö±ÝÀº PHP4·Î ¾÷µ¥ÀÌÆ® µÇ°í, À©¿ë°ú ¸®´ª½º¿ë µÎ °¡Áö ¸ðµÎ °³¹ßµÇ°í ÀÖ½À´Ï´Ù. PHPÀÇ °¡Àå Å« Ư¡À̶ó°í ÇÒ ¼ö ÀÖ´Â °ÍÀº ¹«¾ùº¸´Ùµµ ¾öû³­ Æ÷¿ë¼ºÀÌ ¾Æ´Ñ°¡ »ý°¢µË´Ï´Ù. PHP¸¦ ÄÄÆÄÀÏ Çغ» ºÐÀº ¾Æ½Ã°ÚÁö¸¸, Áö±Ý Àα⸦ ²ø°í ÀÖ´Â Á¦Ç°µé°úÀÇ Áö¿øÀÔ´Ï´Ù. ¼ö ¸¹Àº µ¥ÀÌÅͺ£À̽º Á¦Ç°µéÀº ¸»ÇÒ °Íµµ ¾ø°í, GD¶óÀ̺귯¸®¿Í ¼ö¸¹Àº ´Ù¸¥ Á¦Ç°µéÀÇ ÇÔ¼ö ±ºÀ» º¸À¯ÇÏ°í ÀÖ½À´Ï´Ù. ¶Ç ¾ð¾îÀûÀÎ °üÁ¡¿¡¼­ º¸¸é Áö±Ý ÀαâÀÖ´Â ¾ð¾îµéÀÇ Æ¯Â¡µéÀ» ¸ðµÎ ¼ö¿ëÇÏ°í ÀÖ½À´Ï´Ù. ´ëÇ¥ÀûÀ¸·Î °¢°¢ÀÇ ¹®ÀåÀº ;(¼¼¹ÌÄÝ·ÐÀ¸·Î ³¡³ª°í) º¯¼ö¸íÀº ÆÞ°ú À¯»çÇÏ¸ç °Å±â¿¡ ÀÚ¹Ù ½ºÅ©¸³Æ®ÀÇ ¹®¹ý°ú °¢°¢ÀÇ Á¦¾î¹®µéÀº C¿Í À¯»çÇÕ´Ï´Ù. ¶Ç °³¹ßÀÌ À©µµ¿ì¿Í À¯´Ð½º ¸ðµÎ¿¡¼­ ½Å¼ÓÇÏ°Ô °³¹ßµÇ°í ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº À©µµ¿ì¿Í À¯´Ð½º °è¿­ÀÇ °³¹ßÀÌ ¿ëÀÌÇÏ´Ù´Â °ÍÀÔ´Ï´Ù.

    Áö±Ý ¿î¿µµÇ°í ÀÖ´Â ¸¹Àº »çÀÌÆ®µéÀÌ PHP·ÎÀÇ ÄĹöÀüÀ» ÇÏ°í ÀÖ°í ¾ÕÀ¸·Îµµ °è¼ÓµÉ °ÍÀÔ´Ï´Ù. µµÅ¥¸àÆ®ÀÇ ¿ø¹®À» º¸¸é ¡°PHP is a server-side HTML-embedded scripting language.¡± ¶ó°í µÇ¾îÀÖ½À´Ï´Ù. ÀÌ°ÍÀº ÇÊÀÚ³ª¸§´ë·Î Ç®ÀÌÇÏ¸é µðÀÚÀÎ ¿ä¼Ò¿Í ÇÁ·Î±×·¡¹Ö ¿ä¼Ò°¡ µ¶¸³µÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº À©µµ¿ì °è¿­ÀÇ ASP¿Í À¯»çÇÕ´Ï´Ù. ´õ ÀÌ»ó HTMLÅ×±×°¡ ÁÖ´Â °øÆ÷¿¡¼­ ¹þ¾î³¯ ¼ö ÀÖ°í µðÀÚÀÎ ÅøÀ» ÀÌ¿ëÇؼ­ µðÀÚÀÎÇÑ °ÍÀ» °¡Áö°í °Å±â¿¡ µ¿ÀûÀÎ ÇÁ·Î±×·¥À» »ðÀÔÇÒ ¼ö ÀÖ½À´Ï´Ù. °¡·É 10°³ÀÇ Å×À̺íÀ» Ãâ·ÂÇÏ´Â °ÍÀ» ÇϳªÀÇ Å×ÀÌºí¸¸ µðÀÚÀÎÇÏ°í ³ª¸ÓÁö 10°³´Â ±× Ư¼º¿¡ ¸Â°Ô ÇÁ·Î±×·¥¹ÖÇÏ¸é µÇ±â ¶§¹®ÀÔ´Ï´Ù.

 

3. ¾Ë¾Æ¾ß ÇÒ ±âº»°³³ä

    3-1 ÇÁ·Î±×·¡¹Ö ȯ°æ

    ¸ÕÀú ¿ì¸®´Â À¥ÇÁ·Î±×·¡¹ÖÀ» ÇÑ´Ù´Â °ÍÀ» ¾Ë¾Æ¾ß ÇÕ´Ï´Ù. ÀÌ°ÍÀº ¾î¼¸é ÇÁ·Î±×·¥ °³¹ß ȯ°æ¿¡¼­ º¸¸é °ÅÀÇ ºÒ¸ðÁö³ª ´Ù¸§ ¾ø´Ù´Â °ÍÀ» ¶ÇÇÑ ÀÎÁö ÇØ¾ß ÇÕ´Ï´Ù. µ¥½ºÅ©Å¾¿ëÀ¸·Î ÇÁ·Î±×·¥À» °³¹ßÇϸ鼭 ¿ì¸®´Â °³¹ßÅøµéÀÌ °¡Á®´Ù ÁÖ´Â ¾öû³­ ÀÚÀ¯¿¡ ºüÁ®ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ À¥ÇÁ·Î±×·¥¿¡¼­´Â ¿ì¸®¿¡°Ô ¸¸Á·ÇÒ ¸¸ÇÑ ±â´ÉÀ» Á¦°øÇÏ´Â Åøµéµµ µå¹°°í, ã±âµµ Èûµì´Ï´Ù. ÇÊÀÚµµ PHP·Î ÇÁ·Î±×·¥¹ÖÀ» Çϱâ À§ÇØ Ã³À½¿¡´Â ¿¡µðÅͺÎÅÍ Ã£¾Æ¾ß Çß½À´Ï´Ù. ±×·¯´Ù°¡ ÀÚµ¿À¸·Î FTP¼­¹ö¿¡ Á¢¼ÓÇؼ­ ½ÇÇàÇؼ­ µð¹ö±ë±îÁö ÇØÁÖ´Â ÅøÀ» ã¾ÒÁö¸¸ ±×´ÙÁö È¿°úÀûÀÌÁö ¸øÇؼ­ ÀüÅëÀûÀÎ ¹æ¹ýÀ» ¾ÆÁ÷µµ »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù.(´ÜÁö ÁÙ ¹øÈ£¸¸ ³ª¿À´Â °ÍÀ¸·Î ¸¸Á·ÇÏ°í ÀÖÀ½)

    3-2 ¿ÀŸ¿¡ °üÇؼ­

    ¶Ç PHPÀÇ ¹®¹ýÀûÀÎ ¿À·ù¿Í ´Ù¸¥ »ç¿ëÀÚÀÇ ½Ç¼ö(ÁÖ·Î ¿ÀŸ)¿¡ °üÇÑ »çÇ×À» ¾Ë¾Æ¾ß ÇÕ´Ï´Ù. PHP´Â º¯¼ö¸í¿¡ ´ëÇؼ­ ¾Õ¿¡ ¡®$¡¯¸¸ ºÙ¿© »ç¿ëÇÏ¸é µÇµµ·Ï Çß½À´Ï´Ù. ¾î¶°ÇÑ ¼±¾ðµµ ÇÊ¿ä ¾ø°í »ç¿ëÇÏ°í ½ÍÀ» ¶§ ¹Ù·Î »ç¿ëÇÕ´Ï´Ù. °ú°ÅÀÇ GW-BASIC¿¡¼­Ã³·³ »ç¿ëÇÏ¸é µÇÁö¸¸ ÀÌ°ÍÀº ¶ÇÇÑ ¿ì¸®¿¡°Ô ¾öû³­ ¹ö±×·ÎÀÇ ±æÀ» ¿­¾î ÁÖ¾ú½À´Ï´Ù. ¹Ù·Î ¿ÀŸÀÇ ¹®Á¦ÀÔ´Ï´Ù. °¡·É $valriableÀ̶ó°í »ç¿ëÇÏ´Ù°¡ $veriableÀ̶ó°í ÇÑ´Ù¸é PHPÆļ­´Â ¿ì¸®¿¡°Ô ¾Æ¹«·± °æ°íµµ ¾Ë·Á ÁÖÁö ¾Ê½À´Ï´Ù. ´ÜÁö ½ÇÇàÀÌ ¾ÈµÅ¼­ ¡°¾î ÀÌ°Ô ¿Ö ÀÌ·¯Áö?¡±¶ó´Â Àǹ®°ú ¹ö±×¿ÍÀÇ ½Î¿ò¿¡ ³õÀÌ°Ô µÉ °ÍÀÔ´Ï´Ù.

    3-3 ÀÚ·á Àü¼Û

    ¸ÕÀú ÀÚ·áÀÇ Àü¼Û, Áï ¼­¹ö·Î Àü¼ÛµÉ ÀÚ·á´Â HTMLű×ÀÇ submit¹öÆ°À» Ŭ¸¯Çϸ鼭 ÀÌ·ç¾î Áý´Ï´Ù. <form></form>ű׾ȿ¡ <input>ŸÀÔÀ¸·Î Á¤ÀÇµÈ ¸ðµç º¯¼öµéÀÌ Àü¼ÛµÇ¸ç ÀÌ°ÍÀº ÀÚµ¿ÀûÀ¸·Î PHP¿¡ ÀÇÇؼ­ º¯¼ö¸íÀ¸·Î ÀüȯµË´Ï´Ù. ÀÌ°ÍÀº ¿ì¸®¿¡°Ô ¾öû³­ °í³ú¿¡¼­ ¹þ¾î³¯ ¼ö ÀÖ´Â ±â»ÝÀ» ÁÝ´Ï´Ù. ÀÌÀ¯´Â ºê¶ó¿ìÁ®´Â post¿Í getÀ̶ó´Â µÎ °¡Áö ŸÀÔÀÇ Àü¼Û¹æ¹ýÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ¿ì¸®°¡ ÈçÈ÷ <test.htm?a=1>À̶ó°í ÇßÀ» ¶§ Àü¼ÛµÇ´Â a´Â getÇü½ÄÀ¸·Î Àü¼ÛµÇ´Â °ÍÀÔ´Ï´Ù. ±×¸®°í <input type=hidden name=a value=a>´Â post·Î Àü¼ÛµÇ´Â °ÍÀÔ´Ï´Ù. ¶Ç °¢°¢ÀÇ ÀÚ·áµéÀº ºê¶ó¿ìÁ®°¡ ÀÎÄÚµùÇؼ­, CGIÇÁ·Î±×·¥ÀÌ µðÄÚµùÇØ¾ß ÇÏ´Â ¹ø°Å·¯¿òÀÌ ÀÖ¾ú½À´Ï´Ù. ±×·¡¼­ ¾¾·Î CGIÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§´Â cgi.c¿Í cgi.h¸¦ »ç¿ëÇؼ­ º¯¼öµéÀÇ ÀڷḦ Àü¼ÛÇß°í, ÆÞÀ» »ç¿ëÇÒ ¶§´Â cgi-lib.plÀ̶ó´Â ¶óÀ̺귯¸®¸¦ »ç¿ëÇؼ­ ÇÁ·Î±×·¡¹ÖÀ» Çß½À´Ï´Ù. ÇÏÁö¸¸ PHP¿¡¼­´Â PHP°¡ ¾Ë¾Æ¼­ µðÄÚµù±îÁö ÇØÁÝ´Ï´Ù. ±×·¡¼­ À§ÀÇ º¯¼ö¸íµéÀ» »ç¿ëÇÒ ¶§´Â ¾Õ¿¡
    ¡®$¡¯¸¸ ºÙ¿©¼­ »ç¿ëÇÏ¸é µË´Ï´Ù.
     

    <form action=a.php3>
    <input type=hidden name=abc value=a>
    </form>
    .
    .<?
            echo $abb;
    ?>

     

    3-4. ÄíÅ°?

    ÄíÅ°? ÄÄÇ»Å͸¦ »ç¿ëÇÏ´Ùº¸¸é ²Ï ±«»óÇϰųª ÀüÇô ÀÇ¹Ì ºÎÇÕÀÌ ¾ÈµÇ´Â °ÍÀ» ¹ß°ßÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ëÇ¥ÀûÀ¸·Î ÀÚ¹Ù°¡ ÀÖÁÒ. ÀÚ¹Ù´Â ¼±ÀÇ ÇÁ·Î±×·¡¸ÓµéÀÌ Àß°¡´Â Ä¿ÇǼó À̸§À» µû¼­ Áö¾ú´Ù°í ÇÕ´Ï´Ù. ¶Ç ¿ì¸®¿¡°Ô À¯¸íÇÑ ¾ÆÆÄÄ¡ ¼­¹ö°¡ ÀÖ½À´Ï´Ù. ±×°ÍÀº NCSA¼­¹öÀÇ ÈÄ¿¹À̸鼭 ¿ø·¡ÀÇ À̸§Àº A PACHE¿´½À´Ï´Ù. ÇÏÁö¸¸ ºÙ¿© ÀÐÀ¸¸é ¾ÆÆÄÄ¡°¡ µË´Ï´Ù. ±×·¡¼­ ±× ¿ë¸í¼ºÀ» »ý°¢Çϸ鼭 Á¡Á¡ ´õ Ä£±ÙÇØÁö´ÂÁö ¸ð¸£°Ú½À´Ï´Ù. ÄíÅ°¶õ ¹«¾ùÀϱî¿ä? À¥ ÇÁ·Î±×·¡¹ÖÀÇ Á¦¾à Áß¿¡ À§¿¡¼­ ¼³¸íÇÑ ¿©·¯ °¡Áö°¡ ÀÖÁö¸¸, ÀÚ½ÅÀÌ ¼³Á¤ÇÑ º¯¼ö°¡ »ç¶óÁ® ¹ö¸°´Ù´Â °Í, ¶ÇÇÑ ¹®Á¦ ¾Æ´Ñ ¹®Á¦¿´½À´Ï´Ù.

    ÀÌÀ¯´Â À¥¼­¹ö´Â(¾ÆÆÄÄ¡ÀÇ °æ¿ì) ±âº»ÀûÀ¸·Î ÇϳªÀÇ ¿äû¿¡ ÇϳªÀÇ ÇÁ·Î¼¼¼­¸¦ ¶ç¿ö¼­ ¼­ºñ½º¸¦ ÇÕ´Ï´Ù. Áï 100¸íÀÌ ¿äûÀ» Çϸé 100°³ÀÇ ¼­¹ö°¡ ½ÇÇàµÇ°í ÀÖ´Â °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ ÀÌ°ÍÀº ¿äûÀÌ ³¡³ª¸é Áï »ç¿ëÀÚ°¡ º¸°íÀÚ Çϴ ȨÆäÀÌÁöÀÇ ³»¿ëÀ» ´Ù ÀÐÀ¸¸é ¼­¹ö´Â ¹Ù·Î Á¾·áµË´Ï´Ù. ÀÌ°ÍÀº ¾ÆÁÖ ½É°¢ÇÑ »óȲÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. ¿ì¸®´Â ÇÁ·Î±×·¥¹ÖÀ» Çϸ鼭 Àü¿ªº¯¼ö´Â, ȤÀº Áö¿ªº¯¼ö´Ï ÇÏ´Â ¸»À» µè´Âµ¥, Àü¿ªº¯¼ö´Â ÇÁ·Î±×·¥ÀÇ Àü¹ÝÀûÀÎ »óȲÀ» ÀúÀåÇÏ´Â ¿ªÇÒÀ» ÁÖ·Î ÇÕ´Ï´Ù. À¥ ÇÁ·Î±×·¥µµ ¸¶Âù°¡ÁöÀε¥ ¹®Á¦´Â ÀÌ°ÍÀ» ±¸ÇöÇÒ ¼ö°¡ ¾ø´Ù´Â °ÍÀÔ´Ï´Ù.
    ±×·¡¼­ ¹Ù·Î ÄíÅ°°¡ µîÀåÇÏ°Ô µÇ¾ú½À´Ï´Ù. ºê¶ó¿ìÁ®´Â ¼­¹ö¿¡¼­ ¿À´Â Çì´õÀÇ ÀڷḦ °¡Áö°í ÄíÅ°¸¦ »ý¼ºÇÕ´Ï´Ù. °£´ÜÈ÷ ¸»ÇÏ¸é ¾ðÁ¦ Æı«µÇ´ÂÁö À̸§Àº ¹«¾ùÀÎÁö, °ªÀº ¹«¾ùÀÎÁö¶ó´Â °ÍµéÀ» ÀúÀåÇÕ´Ï´Ù. ¿ì¸®´Â ÀÌ °ÍÀÇ ¿¹¸¦ ÈĹݺο¡¼­ »ìÆì º¼ °ÍÀÔ´Ï´Ù.
     

    setcookie(¡°TestCookie¡±,¡±Test Value¡±);
    setcookie(¡°TestCookie¡±,$value,time()+3600);  /* expire in 1 hour */
    setcookie(¡°TestCookie¡±,$value,time()+3600,¡±/~rasmus/¡±,¡±.utoronto.ca¡±,1);

    .
    .
    echo $TestCookie;
    echo $HTTP_COOKIE_VARS[¡°TestCookie¡±]

;

    3-5 µ¥ÀÌÅÍ º£À̽º

    ¾Õ¼­ ¼³¸íµå·ÈÁö¸¸ PHP¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅͺ£À̽º Á¦Ç°µéÀº ÂüÀ¸·Î ¸¹½À´Ï´Ù. ¿ì¸®³ª¶ó¿¡¼­´Â ¾ÆÁ÷ ¿À¶óŬÀ̳ª »çÀ̺£À̽º °°Àº Á¦Ç°°ú °°ÀÌ ¿¬µ¿ÇÏ´Â »ç·Ê¸¦ ã¾Æº¸Áö ¸øÇßÁö¸¸, ¿Ü±¹ÀÇ °æ¿ì¿¡´Â »ó¾÷ÀûÀÎ ¸ñÀûÀÇ »çÀÌÆ®µéÀÌ ÀÌ·¯ÇÑ Á¦Ç°°ú ¿¬µ¿Çؼ­ ±¸ÃàÇÏ´Â »ç·Ê¸¦ ¸¹ÀÌ º¼ ¼ö ÀÖ½À´Ï´Ù. ¿ì¸®³ª¶óÀÇ °æ¿ì´Â º¸Åë APMÀ̶ó´Â ¸»À» ÇÕ´Ï´Ù. A´Â ¾ÆÆÄÄ¡ P´Â PHP ±×¸®°í MÀº MySQLÀÔ´Ï´Ù.
    ÇÊÀÚ´Â ¿©±â¿¡¼­ mSQLÀ̶ó´Â Á¦Ç°À¸·Îµµ °³¹ßÀ» Çغ¸¾Ò½À´Ï´Ù. mSQLÀº Hughes Technologies¿¡¼­ ¸¸µå´Â Á¦Ç°ÀÔ´Ï´Ù. ÀÌ°ÍÀº °æ·®ÀÇ µ¥ÀÌÅÍ º£À̽º Á¦Ç°À¸·Î ºñ±³Àû °£´ÜÇÑ ¼³Ä¡¿Í »ç¿ëÀÚÁúÀǹ®À» Á¦°øÇÏ°í ÀÖ½À´Ï´Ù. MySQLÀº À̺¸´Ù Á» ´õ º¹ÀâÇÏ¸ç ¸¹Àº ¼öÀÇ ÇÔ¼ö¿Í ÁúÀǹ®À¸·Î ÀϹݻç¿ëÀÚ¿¡°Ô ¸¹ÀÌ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.

    ¿ì¸®°¡ ¿©±â¼­ SQLÀ̶ó´Â °øÅëÀÇ ´Ü¾î¸¦ º¼ ¼ö°¡ Àִµ¥, SQLÀº ±¸Á¶È­µÈ ÁúÀÇ ¾ð¾î·Î, ½±°Ô ¸»Çؼ­, µ¥ÀÌÅÍ º£À̽º¿¡°Ô ¿ì¸®°¡ ¿øÇÏ´Â ÇüÅÂÀÇ ÀڷḦ ¾î¶»°Ô ¿äûÇÒ °ÍÀÎÁö¿¡ ´ëÇÑ °ÍµéÀ» ¿ì¸®°¡ ÀÏ»óÀûÀ¸·Î »ç¿ëÇÏ´Â ¸»Ã³·³ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. »ç½Ç ¼ÒÇÁÆ®¿þ¾î °øÇп¡¼­ º¸¸é µ¥ÀÌÅͺ£À̽º¶ó´Â ¿µ¿ªÀÌ ÀÖ½À´Ï´Ù. ±× ¸¸Å­ ±¤¹üÀ§ÇÏ°í ü°èÀûÀÌ¸ç ±× ÀÌ·Ð ¶ÇÇÑ ¾öû³ª°Ô ¸¹½À´Ï´Ù. ÇÏÁö¸¸ ¿ì¸®´Â ¿©±â¼­ ¿ì¸®°¡ ¿øÇÏ´Â Á¤º¸¸¦ ÀÔ·Â/¼öÁ¤/»èÁ¦ÇÏ°í °¡Àå Áß¿äÇÑ ¿ì¸®°¡ ÇÊ¿äÇÑ ÀڷḦ ¿äûÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æ¾ß ÇÕ´Ï´Ù.
     

    <?
    $conn = msql_connect();
    msql_select_db(¡°drv¡±, $conn);
    $sql = ¡°select subject, memo from board where id = $show¡±;
    $result = msql_query($sql, $conn);
    $data=msql_fetch_row($result);
    msql_close($conn);
    ?>
    <%
    $conn = mysql_connect();
    mysql_select_db(¡°drv¡±, $conn);
    $sql = ¡°select subject, memo from board where id = $show¡±;
    $result = mysql_query($sql, $conn);
    $data=mysql_fetch_row($result)
    mysql_close($conn);
    %>


 

4. ¾ð¾îÀû °üÁ¡¿¡¼­ÀÇ PHP

    4-1 PHP½ºÅ©¸³Æ®·Î ÁøÀÔ¹æ¹ý

    ¡¤ÁøÀÔ¹æ¹ý¿¡´Â 4°¡Áö°¡ ÀÖ½À´Ï´Ù.

    ¨ç <? echo (¡°this is the simplest, an SGML processing instruction¡¬n¡±); ?>

    ¨è <?php echo(¡°if you want to serve XML documents, do like this¡¬n¡±); ?>

    ¨é <script language=¡±php¡±>
        echo (¡°some editors (like FrontPage) don¡¯t like processing instructions¡±);
        </script>

    ¨ê <% echo (¡°You may optionally use ASP-style tags¡±); %>
        <%= $variable; # This is a shortcut for ¡°<%echo ..¡± %>

    ÇÏÁö¸¸ ÁÖ·Î ¸¹ÀÌ »ç¿ëÇÏ´Â ¹æ¹ýÀº <? ?>¸¦ »ç¿ëÇϴµ¥ ÀÌ°ÍÀº ³ª¸ðÀ¥¿¡µðÅÍ¿¡¼­ ÀνÄÀ» ¸øÇÏ´Â ¹®Á¦¸¦ ¹ß»ý½Ãų ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼­ ´ë¾ÈÀ¸·Î 4¹ø° ¹æ¹ýÀÎ ASPű׸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» »ý°¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀ» »ç¿ëÇÏ·Á¸é phpÀÇ ¼³Á¤ÆÄÀÏ¿¡¼­ ASP TAG¸¦ ON½ÃÄÑ¾ß ÇÕ´Ï´Ù. ±×·¯¸é ³ª¸ð¿¡¼­µµ ÆíÁýÀ» ÇÒ ¶§ ¾²·¹±â ÅÂ±× Ãë±ÞÀ» ¹ÞÁö ¾Ê½À´Ï´Ù. ÇÏÁö¸¸ µå¸²À§¹ö¿¡¼­´Â <? ?>Å×±×µµ ¸ðµÎ º¸Á¸ÇÕ´Ï´Ù.

    4-2 ÁÖ¼® ó¸®

    PHP´Â ¡®C¡¯, ¡®C++¡¯ ¿Í Unix shell Çü½ÄÀÇ ÁÖ¼®À» Áö¿øÇÕ´Ï´Ù.
     

    <?php
    echo ¡°This is a test¡±; // This is a one-line c++ style comment
     /* This is a multi line comment
     yet another line of comment */
     echo ¡°This is yet another test¡±;
     echo ¡°One Final Test¡±; # This is shell-style style   
     ¡¬¡¬comment
      ?>

 

    4-3 º¯¼ö

    PHP´Â ¸¹Àº ¾Æ·¡¿Í °°Àº Á¾·ùÀÇ º¯¼ö¸¦ ´Ù·ê ¼ö ÀÖ½À´Ï´Ù.

     Integers
     Floating point numbers
     Strings
     Arrays
     Objects

    $a = 1234; # ½ÊÁø¼ö
    $a = 0123; # ÆÈÁø¼ö
    $a = 0x12; # ÀÌÁø¼ö

    ÀÌÁß¿¡¼­ ¿ì¸®°¡ ÁÖ¸ñÇÒ °ÍÀº º¯¼öµéÀº »óȲ¿¡ µû¶ó¼­ ÀÚµ¿À¸·Î Çü º¯È¯À» ÇÕ´Ï´Ù.
     

      <%
              $a = ¡°1¡±;
              $b = ¡°2¡±;
              echo $a+$b
      %>

 

    À§ÀÇ °á°ú´Â 3ÀÔ´Ï´Ù. ÀÌ°ÍÀº ÀüÅëÀûÀÎ ÇÁ·Î±×·¥¹Ö ¾ð¾î¿¡¼­´Â ã¾Æº¸±â Èûµç Çö»óÀÔ´Ï´Ù.
    ¶Ç ¹è¿­¿¡ °üÇÑ »çÇ×µéÀÌ °­È­µÇ¾ú½À´Ï´Ù. PHP´Â »ç¿ëÀÚÀÇ Àü¼Û ³»¿ë Áß¿¡¼­ °°Àº À̸§ÀÇ º¯¼ö´Â ¹è¿­À» ¸¸µé¾î ½ºÅ©¸³Æ®¿¡°Ô ³Ñ°Ü ÁÝ´Ï´Ù. ¿¹¸¦ µé¾î¼­
     

    <form action=a.php3>
    <input type=hidden name=a value=a>
    <input type=hidden name=a value=b>
    <input type=hidden name=a value=c>
    </form>

 

    À̶ó¸é À§ÀÇ °ÍÀº $a[0]ºÎÅÍ $a[2]±îÁöÀÇ ¹è¿­·Î Á¸ÀçÇÕ´Ï´Ù. ¶Ç ¹è¿­À» ´Ù·ç´Â ÇÔ¼öµµ ¸¹ÀÌ ÀÖ½À´Ï´Ù. ¸î °¡Áö¸¸ ¿¹¸¦ µé¸é

    array -- ¹è¿­À» »ý¼ºÇÕ´Ï´Ù.

    »ç¿ë¹ý

    array array(...);

    ¸Å°³ º¯¼öÀÇ ¹è¿­À» »ý¼ºÇÕ´Ï´Ù. ¸Å°³ º¯¼ö´Â ¡®=>¡¯ ¿¬»êÀÚ¸¦ ÀÌ¿ëÇÑ »öÀÎÀ¸·Îµµ ÁÖ¾îÁú ¼ö ÀÖ½À´Ï´Ù.
    array()´Â ½ÇÁ¦·Î´Â ¹®ÀÚ ±×´ë·ÎÀÇ ¹è¿­(literal array)À» ³ªÅ¸³»±â À§ÇØ ¸¸µéÁø, ÀϹÝÀûÀÎ ÇÔ¼ö(regular function)´Â ¾Æ´Õ´Ï´Ù.
    ¾Æ·¡ ¿¹Á¦´Â 2Â÷¿ø ¹è¿­À» ¸¸µå´Â ¹æ¹ý°ú, associative ¹è¿­À» key¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ý, ±×¸®°í º¸Åë ¹è¿­¿¡¼­ÀÇ ¼ýÀÚ »öÀÎÀÇ °Ç³Ê¶Ü°ú ¿¬°áÀ» ¾Ë·ÁÁÝ´Ï´Ù.
     

    ¿¹Á¦ 1.
    array() example
    $fruits = array(
        ¡°fruits¡±  => array(¡°a¡±=>¡±orange¡±,¡±b¡±=>¡±banana¡±,¡±c¡±=>¡±apple¡±),
        ¡°numbers¡± => array(1, 2, 3, 4, 5, 6),
        ¡°holes¡±   => array(¡°first¡±, 5 => ¡°second¡±, ¡°third¡±)
    );

 

    count -- º¯¼öÀÇ ¿ø¼ÒÀÇ °³¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù

    »ç¿ë¹ý

    int count(mixed var);

    varÀÇ ¿ø¼ÒÀÇ °³¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀϹÝÀûÀ¸·Î var´Â ¹è¿­ÀÔ´Ï´Ù. º¯¼ö°¡ ¾øÀ¸¸é 0À» µ¹·ÁÁÝ´Ï´Ù. ±×¸®°í ¹è¿­ÀÌ ¾Æ´Ï¸é 1À» µ¹·ÁÁÝ´Ï´Ù.

    list -- º¯¼ö¸¦ ¹è¿­ÀÎ °Íó·³ ÇØÁÝ´Ï´Ù

    »ç¿ë¹ý

    void list(...);

    array()¿Í °°ÀÌ ÀÌ°ÍÀº ½ÇÁ¦ ÇÔ¼ö°¡ ¾Æ´Ï¶ó ¾ð¾îÀû °³³äÀÔ´Ï´Ù. list()´Â Çѹø¿¡ º¯¼öµéÀÇ list¸¦ ÇÒ´çÇÕ´Ï´Ù.
     

    <? php
    $result = mysql($conn, ¡°SELECT id, name, salary FROM employees¡±);
    while (list($id, $name, $salary) = mysql_fetch_row($result)) {
        print(¡° <tr>¡¬n¡±.
              ¡°  <td><a href=¡¬¡±info.php3?id=$id¡¬¡±>$name</a></td>¡¬n¡±.
              ¡°  <td>$salary</td>¡¬n¡±.
              ¡° </tr>¡¬n¡±);
    }
    ?>

 

    4-4 Á¦¾î¹®

    Á¦¾î¹®Àº C¿Í À¯»çÇϱ⠶§¹®¿¡ µû·Î ¼³¸íÀ» µå¸®Áö ¾Ê°Ú½À´Ï´Ù.

     if
     else
     elseif
     while
     do..while
     for
     break
     continue
     switch
     require
     include

    ¿©±â¼­´Â ¾ÆÁÖ Æ¯ÀÌÇÑ if¹®°ú for¹®ÀÌ Àִµ¥ ±×°ÍÀº ÇØ´ç ±¸¿ªÀ» ÁöÁ¤ÇÏ´Â °ÍÀÔ´Ï´Ù.

     

      <?
              if ($a==0):
      ?>
      <input type=hidden name=a value=a>
      <?
              endif;
      ?>

      <?
            for($a=0; $a<10; $a++):
      ?>
      <input type=hidden name=a value=a>
      <?
            endfor;
      ?>

 

    À§ÀÇ °ÍÀº ÇØ´ç ÄÚµå´ç ¾î¶² ű׵éÀ» »ç¿ëÇÒ ¶§ ¾ÆÁÖ À¯¿ëÇÕ´Ï´Ù. º¸Åë for¹®Àº Å×À̺íÀ» Ãâ·ÂÇÒ ¶§ ¸¹ÀÌ »ç¿ëÇÕ´Ï´Ù.

    4-5 ÇÔ¼ö

    º¸Åë C¿Í ¾ÆÁÖ À¯»çÇÑ ÇÔ¼ö ±¸Á¶¸¦ °®°í ÀÖ½À´Ï´Ù. ÇÔ¼ö´Â ¹Ýµå½Ã »ç¿ëÇϱâ Àü¿¡ ¼±¾ðµÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù.
     

    function foo ($arg_1, $arg_2, ..., $arg_n) {
        echo ¡°Example function.¡¬n¡±;
        return $retval;
    }

 

    PHP´Â ¶ÇÇÑ Å¬·¡½º¸¦ Áö¿øÇÕ´Ï´Ù.
     

    <?php
     class Cart {
         var $items;  // Items in our shopping cart

         // Add $num articles of $artnr to the cart

         function add_item ($artnr, $num) {
             $this->items[$artnr] += $num;
         }

         // Take $num articles of $artnr out of the cart

         function remove_item ($artnr, $num) {
             if ($this->items[$artnr] > $num) {
                 $this->items[$artnr] -= $num;
                 return true;
             } else {
                 return false;
             }   
         }
     }
     ?>

 

    ÇÏÁö¸¸ »ó¼Ó¿¡¼­, ºÎ¸ðŬ·¡½ºÀÇ »ý¼ºÀÚ´Â ÀÚµ¿ÀûÀ¸·Î ÆÄ»ýµÇ´Â »ý¼ºÀÚ¸¦ ÀÚµ¿À¸·Î È£ÃâÇÏÁö ¾Ê½À´Ï´Ù.

    ÀÌ°ÍÀ¸·Î PHP¿¡ ´ëÇÑ Àü¹ÝÀûÀÎ ³»¿ëÀ» »ìÆì º¸¾Ò½À´Ï´Ù. Áö¸é °ü°è»ó ±×´ÙÁö Æø³ÐÀº ³»¿ëÀ» ´Ù·çÁö ¸øÇß½À´Ï´Ù. ´ÙÀ½¿¡´Â ½ÇÀü ¿¹¸¦ µé¸é¼­ °¢°¢ÀÇ ¾²ÀÓ»õ¿¡ ´ëÇؼ­ ¼³¸íÇÏ°Ú½À´Ï´Ù.




¡ã top

homeÀ¸·Î...