머리말:
PHP는 다양한 데이터베이스의 작업을 지원하며 파일 작업을 위한 다양한 작업 방법도 갖추고 있습니다. 많은 친구들의 현재 작업은 여전히 파일 작업을 기반으로 하고 있지만 파일을 작업할 때 여전히 많은 혼란과 의심이 있습니다. 는 제가 일상적인 글쓰기 과정에서 겪었고 포럼의 친구들이 겪었던 파일 작업에 관한 몇 가지 문제를 모아 놓은 것입니다.
Q: 새 파일을 만드는 방법은 무엇입니까?
답변:
1. fopen(생성할 파일 이름, 매개변수)을 사용합니다. 매개변수는 w, w+, a, a+일 수 있습니다.
2. exec(echo '' > 생성할 파일 이름)를 사용합니다. 시스템 방식으로 파일을 생성하는 경우 touch Linux 명령을 사용하여 생성할 수도 있습니다.
Q: 파일을 생성할 수 없는 이유는 무엇입니까?
답변:
1. fopen을 사용하여 파일을 생성하는 경우 매개변수를 올바르게 사용하고 있습니까?
2. 시스템 권한 문제의 경우 FTP 디렉터리에 쓰기 권한이 있는지 WEBMASTER에 문의하세요.
3. FTP 권한 문제의 경우 확인이 필요합니다. 귀하의 PHP 파일이 작성될 디렉토리에는 쓰기 권한이 있어야 합니다. 즉, FTP 소프트웨어에 로그인한 후 다른 그룹에도 쓰기 권한이 있어야 합니다.
그렇지 않은 경우 권한을 수정하고
질문해 보십시오. 파일을 배열로 읽는 방법은 무엇입니까?
답변: 파일 기능을 사용하십시오.
질문: 모든 파일을 읽는 방법은 무엇입니까?
답변:
1. fread($fp);를 사용하십시오.
2. PHP 버전이 4.3.0 이상인 경우 file_get_contents()를 사용할 수 있습니다.
Q: 파일이 존재하는지 확인하는 방법은 무엇입니까?
답: file_exists()를 사용하십시오;
다시 질문하십시오: 판단하기 위해 fopen()을 사용하는 것은 어떻습니까?
답변: fopen이 반환한 데이터가 권한 문제로 인해 잘못된 판단을 내리게 되는 경우가 종종 있기 때문입니다.
질문: 웹 페이지를 읽을 때 오류가 발생하는 이유는 무엇입니까?
답변
:
1. 전달 매개변수가 잘못되었을 수 있습니다. 웹 페이지를 읽을 때 r 모드만 사용하여 페이지를 읽을 수 있습니다.
2. 읽으려는 웹 페이지에 액세스할 수 있는지 확인하세요.
파일의 관련 속성을 얻습니까?
답변: PHP는 filemtime(), fileowner(), filegroup(), filectime(), fileatime()...과 같은 파일 속성을 얻기 위한 일련의 메소드를 제공합니다. 자세한 사용법은 매뉴얼을 참조하십시오.
질문: PHP에서 파일을 연 후 C처럼 파일 "커서"를 배치할 수 있나요?
답변: 예, fseek()를 사용하십시오.
질문: 파일에 액세스할 때 다른 사람이 액세스하지 못하도록 하려면 어떻게 해야 합니까?
답변:
1. 다른 프로그램을 사용하여 사용자가 파일 작업을 위해 페이지에 액세스하는 것을 제한할 수 있습니다.
2. 자세한 매개변수 및 사용 방법은 Flock()을 사용하십시오.질문: 첫 번째 줄을 삭제하는 방법을
참조하십시오.
파일을 지정하시겠습니까? 아니면 데이터 줄을 지정하시겠습니까?
답변:
PHP는 이러한 작업 방법을 제공하지 않지만 이를 조합하여 사용할 수 있습니다. 다음 코드는 test.dat 파일에서 데이터의 세 번째 줄을 삭제하는 것을 보여줍니다(test.dat 파일의 데이터는 세 줄)
<?php
$filename=test.dat; //작업 파일 정의 $delline=3; //삭제할 줄 수 if(!file_exsits($filename)){
die(지정된 파일을 찾을 수 없습니다! 작업이 중단되었습니다!);
}
$farray=file($filename);//파일 데이터를 배열로 읽어옵니다. for($tmpa=0;$Tmpa<count($farray);$Tmpa++){
if(strcmp($Tmpa+1,$delline)==0){
//삭제된 행을 판단합니다.continue;
}
//데이터 재정렬 $newfp.=$farray[$Tmpa].\r\n;
}
$fp=@fopen($filename,a ) 또는 die(쓰기 모드에서 $filename 파일을 열지 못했습니다.);//쓰기 모드에서 파일을 엽니다. @fputs($fp,$newfp) 또는 die(파일 쓰기에 실패했습니다. );
@fclose($fp);
?>
위의 코드는 파일 한 줄을 삭제하는 방법을 보여 주지만, 주의 깊게 살펴보면 실제로 다른 파일 작업에 대한 관련 알림을 제공합니다~
질문: 존재하지 않는 파일을 열려고 할 때 어떻게 할 수 없습니까? 내 경로가 유출되지 않도록 오류가 표시됩니다! !
답변: 오류를 차단하려면 파일을 열려는 메서드 앞에 @ 기호를 추가하세요. @는 오류 메시지를 차단하기 위해 PHP에서 제공하는 특수 기호입니다. 또는 오류 메시지 앞에 error_reporting(0)을 추가할 수도 있습니다. ) 페이지의 모든 오류 메시지 표시를 차단하는 데 사용됩니다. 권장되지 않는 방법은 php.ini를 수정하는 것입니다(ISP 제외).
Q: 가상 호스트를 사용하고 있습니다. 다른 사용자가 내 데이터를 훔치는 것을 어떻게 방지합니까?
답변: ISP는 제한 사항을 위해 php.ini에서 open_basedir을 수정하는 것이 좋습니다. 권장되지 않는 ISP 설정은 fopen 및 file과 같은 파일 작업을 비활성화 기능에 추가하는 것입니다.
질문: FTP를 통해 로그인할 때 PHP를 사용하여 파일을 삭제한 후 왜 삭제할 수 없나요? ?
답변: 주로 PHP로 생성된 파일이 WEB 사용자 그룹에 속하기 때문입니다. 즉, 생성된 파일은 FTP 사용자에 속하지 않습니다! ! ! 이 문제에 대한 해결책은 PHP 프로그램의 chmod, unlink 등의 방법을 사용하는 것입니다. 사용자는 PHP를 사용하여 파일을 생성할 때 chmod 파일 권한을 기억하는 것이 좋습니다.
질문: 텍스트 파일을 사용하는 방법
.데이터 웨어하우스로? 일부 방명록, 포럼 등에서는 모두 이것을 사용합니다!
답변: 실제로 이것은 주로 파일을 사용하며 폭발과 결합된 데이터 읽기 및 분할의 전형적인 예입니다.
Q: 파일 이름을 어떻게 변경하나요?
답변: rename();
Q: 파일을 삭제하는 방법은 무엇입니까?
답: unlink(); exec(del(rm -vf) filename);
참고: Linux에서는 rm -vf가 사용됩니다.
질문: 파일을 지우는 방법은 무엇입니까?
답변: fopen(filename,w); 또는 exec(echo '' > filename);을 사용하십시오.
Q: 파일 내용을 편집하는 방법은 무엇입니까?
답변: 파일 내용 삭제에 대한 질문에 제가 답변한 적이 있습니다. 실제로 내용을 편집하려면 내용 삭제를 기준으로 변수 대체만 하면 됩니다. 변수 데이터를 대체하기 위해 위의 계속을 찾아 변경할 수 있기를 바랍니다.