이번엔 텍스트 파일 다루는법을 배워 보겠다.
먼저 테스트 파일 읽는 방법이다.
php소스
$fp=file("test.txt");
while($tmp=each($fp)){
$strLine.=$tmp[1];
}
echo $strLine;
asp소스
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set fp= fs.OpenTextFile("test.txt",ForReading)
dim strLine
Do While Not file.AtEndOfStream
strLine=strLine&fp.ReadLine
Loop
response.write strLine
fp.Close
test.txt 파일을 한줄씩 읽어오는 간단한 소스다.
외울필요는 없고 그냥 가끔 쓸일있을때 가져가서 쓰면 될듯하다.
읽었으니 이제 써야지..
php소스
$rooDir=$_SERVER['DOCUMENT_ROO'];
$fp=fopen($rooDir."/test.txt","w");
fwrite($fp,"안녕하세요");
fclose($fp);
asp소스
dim rootDir
rootDir=Server.MapPath("\")
Set fp=fs.CreateTextFile(rootDir&"/test.txt")
fp.WriteLine "안녕하세요"
fp.Close
php랑 asp랑 거의 비슷하다. 그런데 내가 잘못한건지 몰라도 asp에서는 상대경로로 파일을 쓰니까 에러가 났다. 절대경로를 하니까 에러가 나지 않던데.. 위에
server.mapPath가 현재 디렉토리를 가져와준다.
아시다시피 php에서는 파일에 쓸려면 권한이 있어야 한다. 리눅스라면 chmod 777 주면 된다.
asp 는 보통 iis에서 돌아가는데 파일 하나에 권한을 줘봐야 소용이 없는것같다.
그래서 test.txt 파일이 들어있는
디렉토리 자체에다가 권한을 줘야지만 파일에 기록이 가능하다.
권한주는 방법 1. 서버에서 권한을 줄 디렉토리를 찾는다.
2. 디렉토리에서 오른쪽키를 누른다음 등록정보를 누른다.
3. "보안"탭을 누른다.
4. "인터넷게시트계정" 이라는게 있는데 거기에 권한을 "모든권한"을 준다.
5. 그러면 그 디렉토리 안의 모든 파일은 아무나 쓰고 읽고가 된다. 왠만하면 텍스트 데이타용 디렉토리를 따로 만들어서 하는게 좋지않을까 싶다.
간단하게 나마 asp에서 파일 다루는 방법은 이쯤에서 끝..