>백엔드 개발 >PHP 문제 >PHP가 파일 내용을 지울 수 있나요?

PHP가 파일 내용을 지울 수 있나요?

藏色散人
藏色散人원래의
2021-05-08 09:04:272125검색

php는 파일 내용을 지울 수 있습니다. 먼저 PHP 샘플 파일을 만든 다음 "fopen($path, "r+");"을 통해 파일을 엽니다. ) ) {...}" 메소드를 사용하여 파일 내용을 지웁니다.

PHP가 파일 내용을 지울 수 있나요?

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

구체적인 질문:

php가 파일 내용을 지웁니까?

fopen($file, 'w+')을 사용하지 않고 PHP에서 파일 내용을 지우는 방법.

내 요구사항은 이렇습니다. 파일을 작성한 후 마지막 내용이 모두 삭제되었는지 확인하고 싶습니다. 직접 덮어쓰면 이전 내용이 새 내용보다 길 경우에만 해당됩니다. 내용은 남게 되고, php는 24시간 프로그램이 실행되어야 하고, 운영 효율성이 보장되어야 하는데 fopen() 메소드를 사용해 보았으나 파일 리소스를 닫고 열 때 시간이 많이 낭비되는 것을 발견했습니다. 로컬에서 파일 잠금을 켜는 것을 테스트했고, 매번 사용했습니다. fopen()이 파일을 지울 때 초당 5,000번만 실행할 수 있습니다. 읽기 및 쓰기만 한다면 거의 200,000번 실행될 수 있습니다. 둘째, 이 목적을 달성하기 위한 다른 방법이 있는지 묻고 싶습니다.

구현 코드는 다음과 같습니다.

$fh = fopen($path, "r+");
if( flock($fh, LOCK_EX) ){//加写锁
$old_content=json_decode(fread($fh,filesize($path)),true);
$old_content=$old_content.$new_content;
ftruncate($fh,0); // 将文件截断到给定的长度
rewind($fh); // 倒回文件指针的位置
fwrite($fh,json_encode($old_content));
// @chmod($path,0644);
flock($fh, LOCK_UN); //解锁
}
fclose($fh);

추천 학습: "PHP Video Tutorial"

위 내용은 PHP가 파일 내용을 지울 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.