php.ini 에서 allow_url_fopen 을 On으로 활성화하면 HTTP 나 FTP 를 통해 파일을 작성하거나 읽어 올 수 있습니다. HTTP 인 경우 include, include_once, require, require_once 를 사용할 수 있고, FTP 는 fopen 으로 접속이 가능합니다.
FTP 접속은 "ftp://아이디:패스워드@도메인" 형식으로 접속이 가능하지만 동일한 파일이 이미 있을 경우 fopen() 함수를 호출하지 못합니다.
<php
if($file = @fopen("ftp://user_id:user_passwd@example.com/public_html/test.php", "w"))
{
fwrite($file, "원격 파일 쓰기<br />\n");
fclose($file);
} else {
echo "<p>원격 파일을 쓰도록 열 수 없습니다.\n";
exit;
}
if($file = @fopen("ftp://user_id:user_passwd@example.com/public_html/test.php", "w"))
{
fwrite ($file, "원격 파일 쓰기<br />\n");
fclose ($file);
} else {
echo "<p>원격 파일을 쓰도록 열 수 없습니다.\n";
exit;
}
?>
원격 접속시 동일 파일이 존재하면 덮어 쓰기는 안 되자만 데이터 추가는 가능합니다.
<?php
if($file = @fopen(ftp:
{
fwrite ($file, "원격 파일 쓰기<br />\n");
fclose ($file);
} else {
echo "<p>원격 파일을 쓰도록 열 수 없습니다.\n";
exit;
}
?>
원격 접속시 읽어 오기도 가능합니다.
<?php
if($file = @fopen(ftp:
{
while(!feof($fp))
{
$file .= fread($fp,1024);
}
fclose ($fp);
} else {
echo "<p>원격 파일을 열 수 없습니다.\n";
exit;
}
echo $file;
?>
간단하게 원격 파일 접속에 대해 설명하였지만 가능하면 allow_url_fopen 을 활성화하는 것을 권하지 않습니다.