µð·ºÅ丮¿Í ÆÄÀÏ °ü·Ã ÇÔ¼ö
°ü¸®ÀÚ 08-04-25 13:17
 http://hyange.dothome.co.kr/hyange/215, HIT:5

¿øÀúÀÛÀÚ : http://hyange.dothome.co.kr/hyange/215

 

fopen() ÇÔ¼ö

ÆÄÀÏÀ̳ª URLÀ» ¿©´Â ÇÔ¼ö

int fopen(string filename, string mode);


%format

 

 mode ³» ¿ë

'r' Àб⠸ðµå, ÆÄÀÏ Æ÷ÀÎÅÍ´Â ÆÄÀÏÀÇ Ã³À½¿¡ À§Ä¡

'r+' Àбâ/¾²±â ¸ðµå, ÆÄÀÏ Æ÷ÀÎÅÍ´Â ÆÄÀÏÀÇ Ã³À½¿¡ À§Ä¡

'w' ¾²±â ¸ðµå, ÆÄÀÏ Æ÷ÀÎÅÍ´Â ÆÄÀÏÀÇ Ã³À½¿¡ À§Ä¡

ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇϸé overwrite, Á¸ÀçÇÏÁö ¾ÊÀ¸¸é »õ·Ó°Ô »ý¼º

'w+' Àбâ/¾²±â ¸ðµå, ÆÄÀÏ Æ÷ÀÎÅÍ´Â ÆÄÀÏÀÇ Ã³À½¿¡ À§Ä¡

ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇϸé overwrite, Á¸ÀçÇÏÁö ¾ÊÀ¸¸é »õ·Ó°Ô »ý¼º

'a' ¾²±â ¸ðµå, ÆÄÀÏ Æ÷ÀÎÅÍ´Â ÆÄÀÏÀÇ ³¡¿¡ À§Ä¡

ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇϸé overwrite, Á¸ÀçÇÏÁö ¾ÊÀ¸¸é »õ·Ó°Ô »ý¼º

'a+' Àбâ/¾²±â ¸ðµå, ÆÄÀÏ Æ÷ÀÎÅÍ´Â ÆÄÀÏÀÇ ³¡¿¡ À§Ä¡

ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇϸé overwrite, Á¸ÀçÇÏÁö ¾ÊÀ¸¸é »õ·Ó°Ô »ý¼º


fclose() ÇÔ¼ö 

ÁöÁ¤µÈ file pointer¿¡ ÇØ´çÇÏ´Â ÆÄÀÏÀ̳ª URLÀ» ´Ý´Â ÇÔ¼ö

int fclose(int fp);


fwrite()

ÀÎÀÚ·Î ¹ÞÀº ÆÄÀÏ Æ÷ÀÎÅÍ¿¡ ÁöÁ¤ÇÑ ¹®ÀÚ¿­À» ±â·ÏÇÏ´Â ÇÔ¼ö

int fwrite(int fp, string string, int [length]);


fputs()

ÀÎÀÚ·Î ¹ÞÀº ÆÄÀÏ Æ÷ÀÎÅÍ¿¡ ÁöÁ¤ÇÑ ¹®ÀÚ¿­À» ±â·ÏÇÏ´Â ÇÔ¼ö

fwrite() ÇÔ¼ö¿Í µ¿ÀÏÇÑ ±â´É

int fputs(int fp, string string, int [length]);

 

fread()

ÀÎÀÚ·Î ¹ÞÀº ÆÄÀÏ Æ÷ÀÎÅÍ¿¡¼­ ÁÖ¾îÁø ±æÀÌ(length - 1 byte)¸¸Å­ ¹®ÀÚ¸¦

binary ÇüÅ·ΠÀÐ¾î ¿À´Â ÇÔ¼ö

string fread(int fp, int length);


fgetc() 

ÀÎÀÚ·Î ¹ÞÀº ÆÄÀÏ Æ÷ÀÎÅÍ¿¡¼­ ÇÑ ¹®ÀÚ¸¦ ÀÐ¾î ¿À´Â ÇÔ¼ö

string fgetc(int fp);


fgets() 

ÀÎÀÚ·Î ¹ÞÀº ÆÄÀÏ Æ÷ÀÎÅÍ¿¡¼­ ÁöÁ¤ÇÑ ±æÀÌ(length - 1 byte)¸¸Å­ ¹®ÀÚ¸¦

ÀÐ¾î ¿À´Â ÇÔ¼ö

fread ÇÔ¼ö¿Í ´Þ¸® °³Ç๮ÀÚ(ÁٹٲÞ) ¶Ç´Â EOF¸¦ ¸¸³ª¸é ±×°÷±îÁö¸¸ ÀÐ¾î ¿À¹Ç·Î

ÇÑ ¶óÀξ¿ ÀÐÀ» ¶§ À¯¿ëÇÔ.


string fgets(int fp [, int length]);

*length ¸¦ »ý·«Çϸé ÇÑ ¶óÀÎÀ» ÀÐ¾î ¿È.

 

filesize()

ÆÄÀÏÀÇ Å©±â¸¦ Byte ´ÜÀ§·Î ¹ÝȯÇÏ´Â ÇÔ¼ö

int filesize(string filename);


filetype()

ÆÄÀÏÀÇ Å¸ÀÔÀ» ¹ÝȯÇÏ´Â ÇÔ¼ö

int filetype(string filename);


is_dir()

ÁöÁ¤µÈ ÆÄÀÏÀÇ Å¸ÀÔÀÌ directoryÀ̸é true ¸¦ ¹ÝȯÇÏ´Â ÇÔ¼ö

bool is_dir(string filename);


is_file()

ÁöÁ¤µÈ ÆÄÀÏÀÇ Å¸ÀÔÀÌ fileÀ̸é true ¸¦ ¹ÝȯÇÏ´Â ÇÔ¼ö

bool is_file(string filename);


is_readable() 

ÁöÁ¤µÈ ÆÄÀÏ¿¡¼­ ÀбⰡ °¡´ÉÇϸé true ¸¦ ¹ÝȯÇÏ´Â ÇÔ¼ö

bool is_readable(string filename);


is_writable()

ÁöÁ¤µÈ ÆÄÀÏ¿¡¼­ ¾²±â°¡ °¡´ÉÇϸé true ¸¦ ¹ÝȯÇÏ´Â ÇÔ¼ö

bool is_writable(string filename);


is_executable()

ÁöÁ¤µÈ ÆÄÀÏÀÌ ½ÇÇà °¡´ÉÇÑ ÆÄÀÏÀ̸é true ¸¦ ¹ÝȯÇÏ´Â ÇÔ¼ö

bool is_executable(string filename);


*»óÅ ij½¬(state cache) Áö¿ì±â

»óÅ Á¤º¸ °ü·Ã ÇÔ¼ö, Áï, is_file, is_dir, is_readable, ... µîÀÇ ÇÔ¼öµéÀ» È£ÃâÇÒ ¶§ ÀÔ·Â ÀÎÀÚ·Î ÆÄÀÏ À̸§À» »ç¿ëÇϴµ¥, ÀÌ ÇÔ¼öµéÀº ´ÙÀ½ È£ÃâÀ» ´ëºñÇÏ¿© ½Ã½ºÅÛÀÇ stat cache¿¡ ÆÄÀϸíÀ» ÀúÀåÇÏ°Ô µË´Ï´Ù.

ÀÌ·± ÀÚ·á°¡ cache¿¡ ±×´ë·Î ³²°Ü µÎ¸é ½Ã½ºÅÛ ÀÚ¿øÀ» ³¶ºñÇÏ´Â °ÍÀ̹ǷÎ, ¸¶Áö¸· È£Ãâ Á¤º¸¸¦ Áö¿ö ÁÖ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÀÌ ¶§ clearstatcache() ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù.


ÆÄÀÏÀ» º¹»çÇÏ´Â ÇÔ¼ö

copy()

int copy(string source, string dest);

 source : º¹»çÇϰíÀÚ ÇÏ´Â ¿øº» ÆÄÀϸí

 dest : º¹»çµÉ ÆÄÀϸí (Çö µð·ºÅ丮°¡ ¾Æ´Ï¸é µð·ºÅ丮 °æ·Î±îÁö °°ÀÌ ÁöÁ¤)

 

rename() 

ÆÄÀÏÀÇ À̸§À» º¯°æÇÏ´Â ÇÔ¼ö

int rename(string oldname, string newname);

 

unlink() 

ÆÄÀÏÀ» »èÁ¦ÇÏ´Â ÇÔ¼ö

int unlink(string filename);


*rename, unlink ÇÔ¼ö¸¦ »ç¿ëÇϱâ À§Çؼ­´Â ÆÄÀÏ¿¡ ´ëÇÑ PermissionÀÌ ÀÖ¾î¾ß ÇÔ.

 

chdir()

directory¸¦ ¹Ù²Ù´Â ÇÔ¼ö

int chdir(string pathname);

pathname : µð·ºÅ丮 °æ·Î


mkdir()

directory¸¦ »ý¼ºÇÏ´Â ÇÔ¼ö

int mkdir(string pathname, int mode);

mode : Permission

*rmdir ÇÔ¼ö¸¦ »ç¿ëÇϱâ À§Çؼ­µµ PermissionÀÌ ÀÖ¾î¾ß ÇÔ 


rmdir()

directory¸¦ »èÁ¦ÇÏ´Â ÇÔ¼ö

int rmdir(string dirname);     directory handleÀ» ´Ý´Â ÇÔ¼ö

int opendir(int directory_handle);


opendir()

directory handleÀ» ¿©´Â ÇÔ¼ö

int opendir(string pathname);


readdir()

directory handle·ÎºÎÅÍ Ç׸ñ

(µð·ºÅ丮,ÆÄÀÏ)À» Àоî¿À´Â ÇÔ¼ö

int readdir(int directory_handle);


include()

ÁöÁ¤µÈ ÆÄÀÏÀ» ÀÐ¾î ½ÇÇàÇÏ´Â ÇÔ¼ö

include(filename);


require()

ÁöÁ¤µÈ ÆÄÀÏÀ» ÀÐ¾î ½ÇÇàÇÏ´Â ÇÔ¼ö

include ÇÔ¼ö¿Í ´Þ¸® ÀÚ½ÅÀ» ÁöÁ¤µÈ ÆÄÀÏ·Î ´ëüÇÔ. ¹Ýº¹¹®¿¡¼­ »ç¿ëÇÒ ¼ö ¾ø´Ù.

require(filename);


readfile($filename) include, require ÇÔ¼ö¿Í °°Àº ±â´É

->º¹ÀâÇÑ index.htmlÀÇ update¸¦ °£ÆíÇÏ°Ô Çϴµ¥ »ç¿ë


ÆÄÀÏÀÇ ¾÷·Îµå(client->server) ¼ø¼­

1.¸ÕÀú Ŭ¶óÀÌ¾ðÆ®°¡ form tagÀ» ÀÌ¿ëÇÏ¿© Àü¼Û.

  <input type=file name=upfile>

2.¼­¹ö´Â À̸¦ ¹Þ¾Æ¼­ Àӽõð·ºÅ丮¿¡ ÀúÀå.

$upfile ¾÷·ÎµåµÈ ÆÄÀÏÀÌ Àӽà µð·ºÅ丮¿¡ ÀúÀåµÉ ¶§ °¡Áö´Â Àӽà ÆÄÀϸí-¸®´ª½º,À¯´Ð½º¿¡¼­ È®ÀÎÇØ º¸ÀÚ.

ÆÄÀϸí,Å©±â,ŸÀÔÀÇ ¿ø·¡ À¯ÇüÀ» ¾Ë°í ½ÍÀ» ¶§ »ç¿ëÇÏ´Â ¹æ¹ý

$upfile_name ¾÷·ÎµåµÉ ¶§ÀÇ ½ÇÁ¦ ÆÄÀϸí

$upfile size ¾÷·ÎµåµÈ ÆÄÀÏÀÇ Å©±â(Byte)

$upfile_type  ¾÷·ÎµåµÈ ÆÄÀÏÀÇ MIME ŸÀÔ


1.Upload form ¸¸µé±â À¯ÀÇ»çÇ×

ENCTYPE : file upload ½Ã ÁöÁ¤ÇØ¾ß ÇÏ´Â MIME TYPE

                    ¹Ýµå½Ã multipart/form-data¶ó ÇØ¾ß ÇÔ.

 method : ¹Ýµå½Ã POST ¹æ½ÄÀ¸·Î º¸³»¾ß ÇÔ.



<h3>ÆÄÀÏ ¿­°í ´Ý±â</h3>       

<hr>   

<?php 

    $fp = fopen("readme.txt","r"); 

    if(!$fp) echo "ÆÄÀÏ ¿­±â ½ÇÆÐ<br>"; 

    else { echo "ÆÄÀÏ ¿­±â ¼º°ø<br>";   

           fclose($fp); } 

    $fp = fopen("readme.txt","a+");       

    if(!$fp) echo "ÆÄÀÏ ¿­±â ½ÇÆÐ<br>"; 

    else { echo "ÆÄÀÏ ¿­±â ¼º°ø<br>";   

           fclose($fp); } 

?>     


<h3>ÆÄÀÏ¿¡ ±â·ÏÇϱâ</h3>     

<hr>   

<?php 

     $date = date("Y/m/d h:i"); 

       

     $fp = fopen("logfile.html","a");     

     $str = "<li>Á¢¼ÓÀϽà = $date";     

     $str .= "<li>Á¢¼Ó IP = $REMOTE_ADDR"; 

     fwrite($fp,$str);   

         //fputs($fp,$str); µµ µ¿ÀÏÇÑ °á°ú 

     fclose($fp); 

        

     echo "<a href=logfile.html>Logfile</a>";   

?>


<h3>ÆÄÀÏ¿¡¼­ ÀÐ¾î ¿À±â</h3>   

<hr>   

<?php 

     $fp = fopen("http://www.yahoo.com","r");   

     $content = fgets($fp,4096); 

     echo $content;     

     fclose($fp);        

     echo "<br><br>"; 

     $fp = fopen("http://www.yahoo.com","r");   

     $content = fread($fp,4096); 

     echo $content;     

     fclose($fp); 

?>     

<h3>ÆÄÀÏÀÇ Å©±â/ŸÀÔ ±¸Çϱâ</h3>     

<hr>   

<?php 

     $filename = "logfile.html"; 

     $file_size = filesize($filename);     

     $file_type = filetype($filename);     

     echo "Logfile Å©±â : $file_size Byte <br>"; 

     echo "Logfile ŸÀÔ : $file_type <br>";       

       

     //ÇØ´ç µð·ºÅ丮¿¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é ¹Ýµå½Ã µð·ºÅ丮¸í±îÁö ÁöÁ¤ÇÑ´Ù   

     $file_size = filesize("./tmp/".$filename);     

     $file_type = filetype("./tmp/".$filename);     

     echo "Logfile Å©±â : $file_size Byte <br>"; 

     echo "Logfile ŸÀÔ : $file_type <br>";       

?>     

<h3>ÆÄÀÏÀÇ »óÅ ȮÀÎÇϱâ</h3> 

<hr>   

<?php 

     $filename = "readme.txt";   

     if (is_file($filename)) {     

         echo "$filename ÆÄÀÏÀÌ Á¸ÀçÇÕ´Ï´Ù.<br>";       

         if (is_readable($filename))     

             echo "$filename ÆÄÀÏÀº Àб⠰¡´ÉÇÕ´Ï´Ù.<br>";     

         else   

             echo "$filename ÆÄÀÏÀº ÀÐÀ» ¼ö ¾ø½À´Ï´Ù.<br>";     

     } 

     else       

         echo "$filename ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.<br>"; 

       

     clearstatcache();   

?>     

<h3>ÆÄÀÏ º¹»ç/»èÁ¦Çϱâ</h3>   

<hr>   

<?php 

     $filename = "readme.txt";   

     if (is_file($filename)) {     

         if (copy($filename, "b.txt")) {   

             echo "$filename ÆÄÀÏÀ» º¹»çÇÏ¿´½À´Ï´Ù.<br>";       

             $filename = "b.txt"; 

             if (unlink($filename))       

                echo "$filename ÆÄÀÏÀ» »èÁ¦ÇÏ¿´½À´Ï´Ù.<br>";   

             else       

                echo "$filename ÆÄÀÏ »èÁ¦¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù.<br>";       

         }     

         else   

             echo "$filename ÆÄÀÏ º¹»ç¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù.<br>"; 

     } 

     else       

         echo "$filename ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.<br>"; 

?>     

<h3>µð·ºÅ丮 °ü¸®Çϱâ</h3>   

<hr>   

<?php 

    $dirname = "test"; 

    if (mkdir('./'.$dirname, 0777)) {     

         echo "$dirname µð·ºÅ丮¸¦ »ý¼ºÇÏ¿´½À´Ï´Ù.<br>";       

         if (chdir('test')) {     

             $filename = "readme.txt";   

             if (copy('../'.$filename, 'c.txt'))     

                 echo "$filename ÆÄÀÏÀ» º¹»çÇÏ¿´½À´Ï´Ù.<br>";   

             else       

                 echo "ÆÄÀÏ º¹»ç¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù.";     

         }     

         else   

             echo "µð·ºÅ丮 º¯°æ¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù.";     

    }   

    else 

         echo "µð·ºÅ丮 »ý¼º¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù."; 

?>     


dirlist.php

<?php

    if (!$dir) {

      $dir = "/usr/local/apache/htdocs/file";

    }


    chdir($dir);

    $dp = opendir($dir);


    echo "<center>";

    echo "<h3>ÆÄÀÏ ¾÷·Îµå ¿¹Á¦</h3>";

    echo "<table><tr><td>";

   

    //µð·ºÅ丮 »ý¼º Æû

    echo "<form action=mkdir.php>

           <input type=hidden name=dir value=$dir>

           <input name=new_dir>

           <input type=submit value=µð·ºÅ丮»ý¼º>

          </form>"; 


   //ÆÄÀÏ ¾÷·Îµå Æû

  echo "<form method=POST  ENCTYPE=multipart/form-data  action=upload.php?dir=$dir>

        <input type=file name=userfile>

        <input type=submit value=¾÷·Îµå>

        </form>";     

         

   echo "<a href=mkfileform.php?dir=$dir>

                ÆÄÀÏ Á÷Á¢ ÀÛ¼º

         </a><p>";


    echo "<table cellspacing=1 border=1>

          <tr>

          <th>ÆÄÀÏÀ̸§

          <th>Å©±â(Bytes)

          <th>¼öÁ¤ÀÏ

          <th>ŸÀÔ

          <th>»èÁ¦

          </tr>";


    while($filename = readdir($dp)){

        if(is_dir($filename)) {

            $img = "<img src=dir.gif width=15>";

        } else {

            $img = "<img src=text.gif width=15>";

        }


        $filesize = filesize($filename);

        $filedate = date("Y/m/d h:i",filemtime($filename));

        $filetype = filetype($filename);

       

      if(substr($filename,0,1)!="."){

        echo "<tr>";


        if(is_dir($filename)) {

           echo "<td>$img <a href=dirlist.php?dir=$dir/$filename>$filename</a>";

        } else {        

            echo "<td>$img $filename";

        }

       

        echo "<td align=center>$filesize

            <td align=center>$filedate

            <td align=center>$filetype

            <td align=center><a href=delete.php?dir=$dir&file=$filename>»èÁ¦</a>

            </tr>";

    } }

   

    echo "</table>";

   

    echo "</td></tr></table>";

    echo "</center>";

    closedir($dp);

?>


mkdir.php

<?php

    $res = mkdir($dir."/".$new_dir,0777) ;

    if(!$res) {

        echo "µð·ºÅ丮 »ý¼º ½ÇÆÐ";

        exit;

    }

   

    echo "µð·ºÅ丮 »ý¼º ¼º°ø

           <meta http-equiv=refresh content=1;url=dirlist.php?dir=$dir>";

?>


upload.php

<?php

    echo "<li>½ÇÁ¦ ÆÄÀϳ»¿ë : $userfile

          <li>¾÷·Îµå½Ã ÆÄÀÏ À̸§ : $userfile_name

          <li>ÆÄÀÏ Å©±â : $userfile_size Byte

          <li>ÆÄÀÏ Å¸ÀÔ : $userfile_type";


    $result = copy($userfile,$dir."/".$userfile_name) ;       

    if(!$result) {

        echo "ÆÄÀÏ ¾÷·Îµå ½ÇÆÐ";

        exit;

    }


    echo "<meta http-equiv=refresh content=1;url=dirlist.php?dir=$dir>";

?>     


mkfile.php

<?php

     $fp = fopen($dir."/".$filename,"w");

     fwrite($fp,$content);

     fclose($fp);

     echo "<meta http-equiv=refresh content=1;url=dirlist.php?dir=$dir>";

?>


mkfileform.php

    <form action=mkfile.php?dir=<? echo $dir ?> method=POST>

    <table cellspacing=1>

    <tr>

    <th>ÆÄÀÏ À̸§

    <td><input name=filename>

    </tr>

    <tr>

    <th>ÆÄÀÏ ³»¿ë

    <td><textarea name=content cols=40 rows=10>

        </textarea>

    </tr>

    <tr>

    <th colspan=2><input type=submit value=ÆÄÀÏÀÛ¼º>

    </tr>

    </table>

    </form>


delete.php

<?php

    $res = unlink($dir."/".$filename) ;

    if(!$res) {

        echo "ÆÄÀÏ »èÁ¦ ½ÇÆÐ";

        exit;

    }

   

    echo "ÆÄÀÏ »èÁ¦ ¼º°ø

           <meta http-equiv=refresh content=1;url=dirlist.php?dir=$dir>";

?>


opendir.php

<?

    $dir = "/open/comliving/adver/log";

    chdir($dir);

    $dp = opendir($dir);

    while($filename = readdir($dp)){

       echo "Ç׸ñ=>".$filename."<br>";

    }

    closedir($dp);

?>