찾다
백엔드 개발PHP 튜토리얼PHP 파일 기본 작업 예제 공유

PHP 파일 기본 작업 예제 공유

Mar 20, 2018 pm 01:27 PM
php공유하다기본 조작


이 기사는 주로 PHP 파일의 기본 작업 예제를 공유합니다. 먼저 PHP 파일을 읽고 쓰는 기본 작업을 공유하겠습니다.

읽기 및 쓰기의 기본 작업

  • Write 파일 함수: file_put_contents()

    • FILE_USE_INCLUDE_PATH: 파일 이름 복사본의 내장 경로를 확인합니다

    • LOCK_EX: 파일

    • FILE_APPEND : 파일의 끝으로 이동합니다. 그렇지 않으면 파일 내용이 지워집니다.

    • 구문:

      int file_put_contents(file,data,mode,context)int file_put_contents(file,data,mode,context)

      参数 描述
      file 必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。
      data 可选。规定要写入文件的数据。可以是字符串、一维数组或数据流。
      mode 可选。如何打开/写入文件。可能值:FILE_USE_INCLUDE_PATH 、 FILE_APPEND 、 LOCK_EX
      context 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。若使用 null,则忽略。
    • 返回值:该函数将返回写入到文件内数据的字节数。

    • mode参数说明

    • 与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。

  • 读文件函数:file_get_contents()

    • 语法:

      string file_put_contents(path,include_path,context,start,max_length)

      ParametersDescription파일 필수입니다. 데이터를 쓸 파일을 지정합니다. 파일이 없으면 새 파일이 생성됩니다. data선택사항. 파일에 기록할 데이터를 지정합니다. 문자열, 1차원 배열 또는 데이터 스트림일 수 있습니다. 모드선택사항. 파일을 열고 쓰는 방법. 가능한 값: FILE_USE_INCLUDE_PATH, FILE_APPEND, LOCK_EXcontext선택 사항. 파일 핸들의 환경을 지정합니다. context는 스트림의 동작을 수정할 수 있는 옵션 집합입니다. null이 사용되면 무시됩니다.
      반환 값: 이 함수는 파일에 기록된 데이터의 바이트 수를 반환합니다.
      mode 매개변수 설명 🎜🎜🎜🎜🎜 fopen(), fwrite(), fclose()를 순차적으로 호출하는 것과 동일한 기능을 갖습니다. 🎜🎜
    🎜🎜파일 읽기 함수: file_get_contents()🎜🎜🎜🎜🎜 구문: 🎜🎜string file_put_contents(path,include_path,context,start,max_length)🎜🎜🎜🎜🎜매개변수 🎜🎜Description🎜🎜🎜🎜🎜🎜path🎜🎜필수입니다. 읽을 파일을 지정합니다. 외부 URL🎜🎜🎜🎜include_path🎜🎜선택사항일 수 있습니다. include_path에서도 파일을 검색하려면 이 매개변수를 "1"로 설정하면 됩니다. 🎜🎜🎜🎜context🎜🎜선택사항. 파일 핸들의 환경을 지정합니다. 🎜🎜🎜🎜시작🎜🎜선택사항. 읽기를 시작할 파일의 위치를 ​​지정합니다. 이 매개변수는 PHP 5.1의 새로운 기능입니다. 🎜🎜🎜🎜max_length🎜🎜선택사항. 읽을 바이트 수를 지정합니다. 이 매개변수는 PHP 5.1의 새로운 기능입니다. 🎜🎜🎜🎜
  • 반환 값: 읽은 문자열.

기타 일반적으로 사용되는 파일 기능

  • Unlink() 파일 삭제

  • Rename() 파일 이동(이름 바꾸기)

  • Filesize() 파일 크기

  • File_exists() 파일 여부 존재합니다

  • Filemtime() 파일의 마지막 수정 시간입니다!

파일 핸들 읽기 및 쓰기 작업

대부분의 파일 읽기 및 쓰기는 File_put_contents, file_get_contents 함수를 사용하여 완료됩니다.
어떤 경우, 특별한 경우에는 위의 두 가지 기능을 사용하기가 쉽지 않습니다.
일반적으로 파일이 너무 큽니다! 부분적으로만 조작이 가능해요!
기본 단위는 바이트입니다.

  • fopen() 함수는 파일이나 URL을 엽니다.

    열기에 실패하면 이 함수는 FALSE를 반환합니다.
    열린 파일 핸들, PHP 프로그램과 파일 간의 데이터 경로!
    파일 주소와 열기 모드라는 두 가지 매개변수가 필요합니다!

    열기 모드: 파일을 연 후 수행해야 할 작업을 지정하세요! 다음 모드를 선택할 수 있습니다:

    • r: 읽기, 읽기 모드.

    • w: 쓰기, 쓰기 작업, 쓰기 지우기.

    • a: 추가, 쓰기 작업, 추가 쓰기.

    • x: 새로운 글쓰기는 작업을 위한 새로운 파일만 생성할 수 있습니다! w

    • + 확장 모드와 유사한 쓰기 작업입니다. 확장 작업은 읽기 및 쓰기 작업을 완료할 수 있습니다.

      <?php     $handle = fopen(&#39;./data.txt&#39;,&#39;r&#39;);
          var_dump($handle); // resoure(3) of type (stream) 得到一个资源类型
      ?>
  • 파일 핸들 읽기 함수 fread(),fgetc(),fgets(),feof();

    • One byte data = fgetc(handle); 바이트 문자
      한 바이트를 읽을 때마다 파일 포인터를 한 바이트 앞으로 이동하세요! 핸들 작업에서는 파일 포인터에 따라 다릅니다!

    • String = fgets(handle, length)
      읽을 때 개행 문자를 먼저 읽으면 역시 종료됩니다. 줄 읽기 기능이라고도 합니다! 일반적인 논리에서는 각 행에 일련의 정보가 기록되며 이 기능이 가장 일반적으로 사용됩니다!

    • feof()는 파일의 끝에 도달했는지 여부를 결정합니다.
      파일의 모든 정보를 읽습니다. 예:

      <?php
          $handle = fopen(&#39;./langref.txt&#39;,&#39;r&#39;);
          while (! feof($handle)) {
              $line = fgets($handle,1024);
              echo $line . "</br>";
          }
      ?>
    • String = fread(handle, length)
      길이에 따라 내용을 읽습니다. fgets와 다르며 개행 문자의 영향을 받지 않습니다 제한
      유일한 제한은 최대 길이가 8192를 초과할 수 없다는 것입니다!

  • 파일 핸들 쓰기 함수 fwrite($handle, content)

  • Close 핸들 fclose($handle )

  • 포인터 연산 기능

    • fseek(핸들, 위치), 위치 설정 포인터, 위치는 0부터 시작해서 증가!

    • ftell(handle), 포인터 위치를 얻으세요!

파일 동시 작업(파일 잠금)

PHP의 파일 작업 기능은 기본적으로 차단 상태가 아닙니다. 무료 운영 상태. 따라서 파일을 동시에 작업할 때 오류가 발생하기 쉽습니다. 하나의 스크립트 작업이 다른 스크립트 작업을 차단해야 하는 경우 파일 잠금을 사용해야 합니다.

잠금 작업 과정:
먼저 잠금을 추가하고, 잠금이 성공적으로 추가되었는지 확인하고, 성공하면 다시 사용하세요!

잠금 유형:

  • 읽기 잠금: s-lock(공유 잠금) 공유 잠금, 읽기 작업 전에 예상되는 추가 잠금입니다. 결과적으로 동시 읽기가 허용되고 추가 쓰기 작업이 차단됩니다.

  • 쓰기 잠금: x-lock(배타적 잠금) 배타적 잠금, 배타적 잠금, 쓰기 작업 전에 잠금 유형을 추가해 보세요. 결과적으로 다른 스크립트는 읽거나 쓸 수 없습니다.

  • 의도 잠금: 리소스를 작동하는 모든 스크립트는 파일 잠금을 사용하는 규칙(규칙)을 따릅니다.

flock($handle, lock type);
Type:

  • LOCK_SH 읽기 잠금

  • LOCK_EX 쓰기 잠금

  • LOCK_UN에 의해 ​​잠금 해제됨

    <?php
        //*********脚本1,想要读取文件信息***********
        //尝试加读锁
        $lock_result= flock($handle, LOCK_SH);
        //判断锁定结果
        if(!$lock_result){
            die(&#39;锁定失败,不能操作文件&#39;);
        }
        //文件操作
        $str = fgets($handle, 1024);
        var_dump($str);
    
        sleep(5);
        echo &#39;<br>&#39;;
        $str = fgets($handle, 1024);
        var_dump($str);
        flock($handle, LOCK_UN);//解锁
    ?>
    
    <?php
        //*********脚本2,想要往文件里写入信息***********
        //尝试加写锁
        $lock_result= flock($handle, LOCK_EX);
        //判断锁定结果
        if(!$lock_result){
            die(&#39;锁定失败,不能操作文件&#39;);
        }
        //文件操作
        $result = fwrite($handle, &#39;123456&#39;);
        flock($handle, LOCK_UN);//解锁
    ?>

    위의 스크립트 2가 기다려야 하는 경우 (B 잠긴 상태) 스크립트 1은 완료될 때까지 실행되지 않습니다. 잠금이 성공적으로 추가되었는지 판단해야 함을 강조합니다.

    잠금이 실패할 때 차단하지 않으려면

    $lock_result = flock($handle, LOCK_EX | LOCK_NB);

Unlock:

  • Flock($handle, LOCK_UN)을 사용하면 강제 잠금 해제되고,

  • Fclose()를 사용하면 자동으로 잠금이 해제됩니다!

관련 추천:

PHP 파일 작업 예제 공유

php 파일 업로드 기본 소개

php 파일 업로드 간단한 예제 공유

위 내용은 PHP 파일 기본 작업 예제 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
PHP : 서버 측 스크립팅 언어 소개PHP : 서버 측 스크립팅 언어 소개Apr 16, 2025 am 12:18 AM

PHP는 동적 웹 개발 및 서버 측 응용 프로그램에 사용되는 서버 측 스크립팅 언어입니다. 1.PHP는 편집이 필요하지 않으며 빠른 발전에 적합한 해석 된 언어입니다. 2. PHP 코드는 HTML에 포함되어 웹 페이지를 쉽게 개발할 수 있습니다. 3. PHP는 서버 측 로직을 처리하고 HTML 출력을 생성하며 사용자 상호 작용 및 데이터 처리를 지원합니다. 4. PHP는 데이터베이스와 상호 작용하고 프로세스 양식 제출 및 서버 측 작업을 실행할 수 있습니다.

PHP 및 웹 : 장기적인 영향 탐색PHP 및 웹 : 장기적인 영향 탐색Apr 16, 2025 am 12:17 AM

PHP는 지난 수십 년 동안 네트워크를 형성했으며 웹 개발에서 계속 중요한 역할을 할 것입니다. 1) PHP는 1994 년에 시작되었으며 MySQL과의 원활한 통합으로 인해 개발자에게 최초의 선택이되었습니다. 2) 핵심 기능에는 동적 컨텐츠 생성 및 데이터베이스와의 통합이 포함되며 웹 사이트를 실시간으로 업데이트하고 맞춤형 방식으로 표시 할 수 있습니다. 3) PHP의 광범위한 응용 및 생태계는 장기적인 영향을 미쳤지 만 버전 업데이트 및 보안 문제에 직면 해 있습니다. 4) PHP7의 출시와 같은 최근 몇 년간의 성능 향상을 통해 현대 언어와 경쟁 할 수 있습니다. 5) 앞으로 PHP는 컨테이너화 및 마이크로 서비스와 같은 새로운 도전을 다루어야하지만 유연성과 활발한 커뮤니티로 인해 적응력이 있습니다.

PHP를 사용하는 이유는 무엇입니까? 설명 된 장점과 혜택PHP를 사용하는 이유는 무엇입니까? 설명 된 장점과 혜택Apr 16, 2025 am 12:16 AM

PHP의 핵심 이점에는 학습 용이성, 강력한 웹 개발 지원, 풍부한 라이브러리 및 프레임 워크, 고성능 및 확장 성, 크로스 플랫폼 호환성 및 비용 효율성이 포함됩니다. 1) 배우고 사용하기 쉽고 초보자에게 적합합니다. 2) 웹 서버와 우수한 통합 및 여러 데이터베이스를 지원합니다. 3) Laravel과 같은 강력한 프레임 워크가 있습니다. 4) 최적화를 통해 고성능을 달성 할 수 있습니다. 5) 여러 운영 체제 지원; 6) 개발 비용을 줄이기위한 오픈 소스.

신화를 폭로 : PHP가 실제로 죽은 언어입니까?신화를 폭로 : PHP가 실제로 죽은 언어입니까?Apr 16, 2025 am 12:15 AM

PHP는 죽지 않았습니다. 1) PHP 커뮤니티는 성능 및 보안 문제를 적극적으로 해결하고 PHP7.x는 성능을 향상시킵니다. 2) PHP는 최신 웹 개발에 적합하며 대규모 웹 사이트에서 널리 사용됩니다. 3) PHP는 배우기 쉽고 서버가 잘 수행되지만 유형 시스템은 정적 언어만큼 엄격하지 않습니다. 4) PHP는 컨텐츠 관리 및 전자 상거래 분야에서 여전히 중요하며 생태계는 계속 발전하고 있습니다. 5) Opcache 및 APC를 통해 성능을 최적화하고 OOP 및 설계 패턴을 사용하여 코드 품질을 향상시킵니다.

PHP vs. Python 토론 : 어느 것이 더 낫습니까?PHP vs. Python 토론 : 어느 것이 더 낫습니까?Apr 16, 2025 am 12:03 AM

PHP와 Python에는 고유 한 장점과 단점이 있으며 선택은 프로젝트 요구 사항에 따라 다릅니다. 1) PHP는 웹 개발, 배우기 쉽고 풍부한 커뮤니티 리소스에 적합하지만 구문은 현대적이지 않으며 성능과 보안에주의를 기울여야합니다. 2) Python은 간결한 구문과 배우기 쉬운 데이터 과학 및 기계 학습에 적합하지만 실행 속도 및 메모리 관리에는 병목 현상이 있습니다.

PHP의 목적 : 동적 웹 사이트 구축PHP의 목적 : 동적 웹 사이트 구축Apr 15, 2025 am 12:18 AM

PHP는 동적 웹 사이트를 구축하는 데 사용되며 해당 핵심 기능에는 다음이 포함됩니다. 1. 데이터베이스와 연결하여 동적 컨텐츠를 생성하고 웹 페이지를 실시간으로 생성합니다. 2. 사용자 상호 작용 및 양식 제출을 처리하고 입력을 확인하고 작업에 응답합니다. 3. 개인화 된 경험을 제공하기 위해 세션 및 사용자 인증을 관리합니다. 4. 성능을 최적화하고 모범 사례를 따라 웹 사이트 효율성 및 보안을 개선하십시오.

PHP : 데이터베이스 및 서버 측 로직 처리PHP : 데이터베이스 및 서버 측 로직 처리Apr 15, 2025 am 12:15 AM

PHP는 MySQLI 및 PDO 확장 기능을 사용하여 데이터베이스 작업 및 서버 측 로직 프로세싱에서 상호 작용하고 세션 관리와 같은 기능을 통해 서버 측로 로직을 처리합니다. 1) MySQLI 또는 PDO를 사용하여 데이터베이스에 연결하고 SQL 쿼리를 실행하십시오. 2) 세션 관리 및 기타 기능을 통해 HTTP 요청 및 사용자 상태를 처리합니다. 3) 트랜잭션을 사용하여 데이터베이스 작업의 원자력을 보장하십시오. 4) SQL 주입 방지, 디버깅을 위해 예외 처리 및 폐쇄 연결을 사용하십시오. 5) 인덱싱 및 캐시를 통해 성능을 최적화하고, 읽을 수있는 코드를 작성하고, 오류 처리를 수행하십시오.

PHP에서 SQL 주입을 어떻게 방지합니까? (준비된 진술, pdo)PHP에서 SQL 주입을 어떻게 방지합니까? (준비된 진술, pdo)Apr 15, 2025 am 12:15 AM

PHP에서 전처리 문과 PDO를 사용하면 SQL 주입 공격을 효과적으로 방지 할 수 있습니다. 1) PDO를 사용하여 데이터베이스에 연결하고 오류 모드를 설정하십시오. 2) 준비 방법을 통해 전처리 명세서를 작성하고 자리 표시자를 사용하여 데이터를 전달하고 방법을 실행하십시오. 3) 쿼리 결과를 처리하고 코드의 보안 및 성능을 보장합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.