파일이 열리는 방법을 더 잘 제어하려면 sysopen() 함수를 사용할 수 있습니다:
useFcntl;
sysopen(FH,$filename,O_RDWR|O_CREAT,0666)
ordie"읽기/쓰기/생성 시 $filename을 열 수 없습니다:$!";
sysopen() 함수는 4개의 매개변수를 사용합니다. 첫 번째 매개변수는 open()과 유사한 파일 핸들 매개변수입니다. 두 번째 매개변수는 모드 정보가 없는 파일 이름입니다. 세 번째 매개변수는 Fcntl 모듈에서 제공하는 논리적 OR 연산과 결합된 상수로 구성됩니다. 0666은 데이터 파일을 나타내고, 0777은 프로그램을 나타냅니다. sysopen()은 파일을 열 수 있으면 true를 반환하고, 파일을 열 수 없으면 false를 반환합니다.
open() 함수와 달리 sysopen()은 모드 설명에 대한 약어를 제공하지 않지만 일부 상수를 결합합니다. 또한 각 모드 상수는 고유한 의미를 가지며 논리적 OR 연산을 통해서만 결합할 수 있습니다. 결합하면 여러 동작 조합을 설정할 수 있습니다. O_CREAT파일이 없으면 생성하세요
O_EXCLErrorifthefilealreadyexisted(usedwithO_CREAT)
주의가 필요한 경우 sysopen() 함수를 사용하십시오. 예를 들어 파일에 내용을 추가하려는 경우 내용이 없으면 새 파일을 생성하지 마십시오. 다음과 같이 쓸 수 있습니다:
sysopen(LOG,"/var/log/myPRog.log",O_APPEND,0666)
ordie"Can'topen/var/log/myprog .logforappending: $!";
위는 Perl의 고전적인 사용법입니다: 더 많은 제어를 위해 Sysopen()을 사용합니다. 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트(www.php.cn)에 주목하세요. !