$fp = fopen('해당주소', '파일모드');

해당 주소 부분에는 열고자 하는 파일이 있는 경로를 적어주고,
파일 모드는 아래와 같다.
r : 파일을 읽기 전용으로 연다. 파일의 처음에서 시작한다.
r+ : 파일을 읽고 쓰기 위해 연다. 파일의 처음에서 시작한다.
w : 파일을 쓰기 전용으로 연다. 파일의 처음에서 시작한다. 만약 파일이 있을 경우 먼저 있던 내용은 지우고 없다면 새로 만든다.
w+ : 파일을 읽고 쓰기 위해 연다. 나머지 내용은 w와 같다.
x : 파일을 쓰기 위해 연다. 만약 파일이 있을 경우 파일을 열지 않고 fopen()은 false로 반환하고 PHP는 경로를 낸다.
x+ : 파일을 읽고 쓰기 위해 연다. 나머지 내용은 x와 같다.
a : 파일을 추가하기 위해 연다. 현재 있는 내용의 끝에서 시작한다. 만약 파일이 없다면 새로 만든다.
a+ : 파일을 읽고 추가하기 위해 연다. 나머지 내용은 a와 같다.
b : 다른 모드들과 합쳐서 사용한다. 바이너리와 텍스트 파일을 구별하는 경우에반 사용할 수 있다. windows에서는 구별하며 unix에서는 구별하지 않는다. 이동성을 높이기 위해 항상 이 모드를 사용하는 것이 좋다. 바이너리 모드가 기본값이다.
t : 다른 모드들과 합쳐서 사용한다. 이 모드는 windows 시스템에서만 사용할 수 있다. 코드를 b 옵션으로 사용하도록 바꾸고 난 뒤가 아니라면 t 옵션은 사용하지 않는 편이 좋다.

실제 파일을 열고 나면 파일 안의 데이터를 읽어 와야 되는데 그럴 때 사용하는 함수로는 3개가 있다.

$data = fgets($fp, 999);
fgets() 함수는 파일에서 한 줄씩 읽는다. 이 경우 파일의 줄바꿈 문자나 EOF를 만나지 않는다면 998바이트를 읽을 때까지 진행한다.

$data = fgetss($fp, 999, "특정 태그");
fgetss() 함수는 읽어들인 문자열에서 PHP와 HTML 태그를 모두 제거한다. 특정 태그를 남겨두려면 적어준다.

$data = fgetcsv($fp, 999, "delimiter");
fgetcsv() 함수는 파일에서 읽은 문자열을 구분 문자로 나누어서 배열에 저장한다. 가운데는 length 파라미터인데, 이 값은 읽으려는 한 줄의 길이보다 좀 더 길어야 한다.

$data = fgetc($fp);
fgetc() 함수는 파일에서 한번에 한 문자씩 읽어들인다.

책에서 보면 상대 경로를 지정해서 사용하는 것이 이식성 때문에 좋다고 나와있는데
왜 나는 상대 경로를 지정하지 작동이 되지 않는지 모르겠다.
일단 절대 경로를 지정 해놓았는데 나중에 시간이 나면 다시 고쳐 봐야겠다.

출처: 성공적인 웹 프로그래밍 PHP와 MySQL 제 3판

'프로그래밍 > SCRIPT' 카테고리의 다른 글

shell] array 사용  (0) 2013.06.12
PHP] php error 출력 설정  (0) 2011.06.19
html, PHP] form 사용하기  (0) 2011.06.18
php와 mysql 연동  (0) 2011.06.18
Posted by halloRa
,

저번에 블로그에 vs2010에서 콘솔 창이 바로 꺼질 때
시스템 환경 부분을 고쳐서 콘솔 창이 바로 꺼지지 않도록 만들었는데

이번에 새로운 방식을 알게 되었다.

system("pause");

와 같은 명령어를 프로그램 제일 마지막에 넣어주면
시스템 환경을 고쳤을 때와 같이
"계속하시려면 어쩌구저쩌구"와 같은 문구를 볼 수 있게 된다.

'프로그래밍 > C/C++' 카테고리의 다른 글

C++에서 소문자, 대문자 바꾸기  (0) 2011.10.11
getline(cin, temp);  (0) 2011.09.26
C++ string tokenizer  (0) 2011.05.27
String to Integer & Integer to String  (0) 2011.05.27
Visual Studio 2010 에서 실행창이 바로 꺼질 때  (0) 2011.05.27
Posted by halloRa
,


직접 APM을 설치하였을 때는 어떤지 모르겠지만 CentOS에서 기본적으로 제공하는 APM에서 php 는 기본적으로 에러를 출력하지 않도록 설정되어있다. php.ini 파일을 수정하면 에러 출력을 설정할 수 있다. 설정 파일 경로는 다음과 같다

/etc/php.ini

해당 파일을 열어 350줄 라인 근처에 보면
error_reporting = E_ALL

이라는 것과 그 10줄 정도 아래에 보면
display_errors = Off

라는 설정이 보일 것이다. error_reporting = E_ALL 상태이면 이는 모든 에러 상태를 보고한다는 뜻이지만
display_errors = Off 로 설정이 되어있으므로 웹상에서는 보이지 않는다.

실제 서비스를 함에 있어서는 Off로 설정하는 것이 좋겠지만 개발단계에서는 On으로 설정해야 스크립트 수정에 용이하다.

* vim을 이용해서 수정할때는 ?를 이용하여 해당 설정 부분을 빠르게 찾을 수 있다.
$ vim /etc/php.ini 실행 후 ?display_errors

출처: http://sancomgae.tistory.com/8

'프로그래밍 > SCRIPT' 카테고리의 다른 글

shell] array 사용  (0) 2013.06.12
PHP] 파일 읽기  (0) 2011.06.22
html, PHP] form 사용하기  (0) 2011.06.18
php와 mysql 연동  (0) 2011.06.18
Posted by halloRa
,


리눅스에서 네임서버, 아파치 데몬 관련 파일을 수정했으면 재시작해야 수정한 내용이 적용됩니다.

* 네임서버 데몬
시   작: #service named start
종   료: #service named stop
재시작: #service named restart

* 아파치 데몬
시   작: #service httpd start
종   료: #service httpd stop
재시작: #service httpd restart

출처: http://blog.naver.com/iwow?Redirect=Log&logNo=40116661247 

'프로그래밍 > LINUX' 카테고리의 다른 글

파일 line 수 세기  (0) 2011.11.17
리눅스 압축 및 풀기  (0) 2011.07.19
putty로 서버에 원격 접속 시 한글이 깨져 보일 때  (0) 2011.06.16
chkconfig: command not found  (1) 2011.06.15
사용자 계정 생성  (0) 2011.05.30
Posted by halloRa
,

script 언어를 오랜만에 쓰려니까 예전에는 능숙하게 사용하던 것들도 한 개도 기억이 안난다.
그래서 간단하지만 유용한 것들은 좀 정리를 해놓아야 할 것 같다.

일단 form의 사용은 웹페이지를 만들 때 없어서는 안되는
적어도 한 번 이상은 사용하게 되는 것.

<form name="xx" actiron="another.php" method="post">

<input type="submit" value="submit"></input>
</form>

와 같은 기본 형태의 html 파일과 php 파일이 있다면
html에서 얻은 정보를 php로 보내어
서버와 데이터를 연동시키는 것은 큰 무리 없을 듯.

'프로그래밍 > SCRIPT' 카테고리의 다른 글

shell] array 사용  (0) 2013.06.12
PHP] 파일 읽기  (0) 2011.06.22
PHP] php error 출력 설정  (0) 2011.06.19
php와 mysql 연동  (0) 2011.06.18
Posted by halloRa
,

php에서 mysql을 연동시킬 때
$link = myql_connect("localhost", "root", "") or die("coonect failed"); 와 같은 방식을 사용하게 된다.

이 때 나는 localhost 값으로 실제 서버의 도메인 네임을 이용하였는데
계속해서 connect failed가 떴다.

같은 연구실의 오빠한테 물어보니
아마도 localhost에서만 접속되도록 DB 계정이 설정되어서 그럴거라는데
보통 웹이랑 DB 서버가 같으면 localhost에서 접속하면 된다고 한다.

'프로그래밍 > SCRIPT' 카테고리의 다른 글

shell] array 사용  (0) 2013.06.12
PHP] 파일 읽기  (0) 2011.06.22
PHP] php error 출력 설정  (0) 2011.06.19
html, PHP] form 사용하기  (0) 2011.06.18
Posted by halloRa
,


1. 첫번째 방법
/etc/sysconfig/i18n 파일을 열고 기존부분을 주석처리한 뒤에 아래 부분을 추가해준다.

 LANG="ko_KR.eucKR"
SUPPORTED="en_US.iso885915:en_US:en:ko_KR.eucKR:ko_KR:ko"
SYSFONT="lat0-sun16"
SYSFONTACM="iso15"

 저장 후 종료하고나서

 # source /etc/sysconfig/i18n

출처: http://cafe.naver.com/bit2009.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=86&


2. 두번째 방법
위에 방법으로도 putty에서 한글이 깨져 보일 때가 있다.
이 때는 그냥 putty 설정 변경에서 변환에 들어가서 수신한 데이터를 이 문자셋으로 가정 부분을 UTF-8로 고쳐주면 된다.

'프로그래밍 > LINUX' 카테고리의 다른 글

파일 line 수 세기  (0) 2011.11.17
리눅스 압축 및 풀기  (0) 2011.07.19
네임서버와 아파치 데몬 시작, 종료, 재실행 하기  (0) 2011.06.18
chkconfig: command not found  (1) 2011.06.15
사용자 계정 생성  (0) 2011.05.30
Posted by halloRa
,

제대로 깔려 있고 안될 이유가 없는데
왜 실행이 안되나 했더니
다른 계정으로 접속 후 root 권한을 사용하고 있어서
su -
를 입력 시켜 줘야 chkconfig 를 사용할 수 있다.
Posted by halloRa
,

* 예를 들어 hallo라는 이름을 가지는 사용자 계정을 생성하고 싶다면
1. addusr hallo

2. passwd hallo
  - 위의 명령어를 실행하게 되면 새로운 패스워드를 입력하라고 뜬다.
     그럼 지정하고 싶은 패스워드를 입력하여 준다.
     한번 더 확인하기 위해 입력하라고 나오면 똑같이 입력하여 주면 끝.
Posted by halloRa
,

// string tokenizer
void Tokenize(const string& str, vector<string>& tokens, const string& delimiters = ",")
{
 // 맨 첫 글자가 구분자인 경우 무시
 string::size_type lastPos = str.find_first_not_of(delimiters, 0);
 // 구분자가 아닌 첫 글자를 찾는다
 string::size_type pos     = str.find_first_of(delimiters, lastPos);

 while (string::npos != pos || string::npos != lastPos)
 {
  // token을 찾았으니 vector에 추가한다
  tokens.push_back(str.substr(lastPos, pos - lastPos));
  // 구분자를 뛰어넘는다.  "not_of"에 주의하라
  lastPos = str.find_first_not_of(delimiters, pos);
  // 다음 구분자가 아닌 글자를 찾는다
  pos = str.find_first_of(delimiters, lastPos);
 }
}

Posted by halloRa
,