Table of Contents
Directory operation" >Directory operation

Handle:
创建目录" >创建目录
删除目录" >删除目录
获取当前工作目录" >获取当前工作目录
改变当前工作目录" >改变当前工作目录
获取目录句柄条目" >获取目录句柄条目
读取目录条目" >读取目录条目
文件操作" >文件操作
判断文件是否存在" >判断文件是否存在
创建,打开,关闭文件" >创建,打开,关闭文件
读取文件" >读取文件
写入文件" >写入文件
删除文件" >删除文件
复制文件" >复制文件
移动,重命名文件或目录" >移动,重命名文件或目录
Home Backend Development PHP Tutorial This article will take you through file and directory operations in PHP

This article will take you through file and directory operations in PHP

Dec 23, 2022 pm 07:56 PM
php php file directory

How does PHP perform file and directory operations? The following article will give you an in-depth understanding of HP file and directory operations. I hope it will be helpful to you!

This article will take you through file and directory operations in PHP

Path and disk operations


Relative path and absolute path

Absolute path: The path where the drive letter of the current file is located is the starting point

For example:
For example, picture 1.png
This article will take you through file and directory operations in PHP
The absolute path of this picture is

D:\Google\123\1.png

Let’s explain the content represented by this string of paths separately

  • D: (referring to the drive letter
  • \ (the one with the table is the directory separator
  • Tip: (windows operating system Supports forward slashes and backslashes, other systems support forward slashes /, so forward slashes can reduce compatibility issues)

Relative path: With the location of the file to be operated on The directory is the starting path

This is arelative concept, different reference objects write different paths

Why do you say that
Let’s give an example:
Suppose we use 1.png as a reference

This article will take you through file and directory operations in PHP

This article will take you through file and directory operations in PHP

    ##1.txt
  • ./1.txt(There is a dot before 1.)

  • 2.txt
  • ../2.txt (two dots before 2)

    Explain it

  • 1.txt is
  • a file in the same directory, so only one dot is needed in front, and this dot represents the current directory
  • 2.txt is the
  • lower directory, 1.png is the upper directory of 2.txt, the two dots here represent the upper directory
  • believe it Everyone already knows about relative paths and absolute paths

Getting file path information


We need to understand it first Some concepts

Path:


/love/xianyu.txt

    Directory name (dirname ) is /love
  • with the file extension name (basename) being xianyu.txt
  • the extension name (extension) being .txt
  • the file name (filename) being xianyu

Enter the text below

pathinfo()

In order to obtain

Specified path and file name, you can use the pathinfo() function, this function will return an associative array

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<?php

$xianyu = "/love/xianyu.php";

$result = pathinfo($xianyu);

foreach($result as $key=>$value){

    echo "$key=>$value\n";

}

?>

/*

输出:

dirname=>/love

basename=>xianyu.php

extension=>php

filename=>xianyu

*/

Copy after login

Quickly obtain the file name: basename()

##basename()

Function, Quickly obtain the file name part of the specified file without reading from the array

1

2

3

4

5

6

7

<?php

$xianyu = "/love/xianyu.php";

echo $filepath."中的文件名是:".basename($xianyu);

?>

/*

中的文件名是:xianyu.php

*/

Copy after login

Quickly obtain the directory part of the path: dirname()

Use the
dirname()

function to quickly obtain it Specify the directory part of the specified file

1

2

3

4

5

6

7

<?php

$filepath = "/love/xianyu.php";

echo $filepath."中的路径部分是:". dirname($filepath);

?>

/*

/love/xianyu.php中的路径部分是:/love

*/

Copy after login

Directory operation


Opening and closing directories


Handle:

    opendir(), closedir()
The handle can be considered as a
return value

. With the handle, you can operate on the open directory

1

2

3

4

5

6

7

8

9

10

11

12

<?php

$dir = "images";

if($dir_handle = opendir($dir))

{

echo "获取目录句柄成功!";

closedir($dir_handle); //记得释放句柄

}

else

{

echo "打开目录错误";

}

?>

Copy after login

Open the images directory

This article will take you through file and directory operations in PHP
This article will take you through file and directory operations in PHP

##Release handle
  • Why release the handle? If you don't release the handle, it's like you and a bunch of people are writing in a notebook. If you take it away and don't put it back, others can't write. So releasing the handle can save server resources
  • 创建目录

    1

    2

    3

    <?php

    mkdir("123")

    ?>

    Copy after login

    删除目录

    1

    2

    3

    <?php

    rmdir("123")

    ?>

    Copy after login

    获取当前工作目录

    1

    2

    3

    <?php

    echo getcwd()

    ?>

    Copy after login

    改变当前工作目录

    1

    2

    3

    4

    5

    <?php

    echo getcwd() . &#39;<br>&#39;; // 显示当前目录

    chdir(&#39;hhh&#39;); //改变当前目录

    echo getcwd() . &#39;<br>&#39;; // 显示当前目录

    ?>

    Copy after login

    获取目录句柄条目

    • readdir()

    将一个参数名作为参数传递给函数readdir(),这个函数能返回目录下所有子目录和文件

    注意:调用一次返回一个!!

    1

    2

    3

    4

    5

    6

    7

    8

    <?php

    if ($handle = opendir(&#39;.&#39;)) {

    while (false !== ($file = readdir($handle))) {

    echo "$file\n";

    }

    closedir($handle);

    }

    ?>

    Copy after login

    This article will take you through file and directory operations in PHP

    读取目录条目

    • scandir()

    直接返回指定目录下文件和子目录,并且按照要求排序(默认字母升序)

    1

    2

    3

    4

    5

    6

    <?php

    $dir1 = scandir("D:\新建文件夹 (2)");

    $dir2 = scandir("D:\新建文件夹 (2)",1);//降序排列

    print_r($dir1);

    print_r($dir2)

    ?>

    Copy after login

    This article will take you through file and directory operations in PHP

    This article will take you through file and directory operations in PHP

    文件操作


    操作文件的一般步骤即:打开,读取或写入,关闭

    由于目录和文件本质上都属于文件,除了使用函数不同,很多操作都是相通的

    一般操作

    判断文件是否存在

    1

    2

    3

    4

    5

    6

    7

    <?php

    if(file_exists("test.txt"))

    {

    //如果文件存在就执行操作

    }

    ?>

    //如果文件存在返回true,不存在返回false

    Copy after login

    创建,打开,关闭文件

    • fopen(), fclose()

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    <?php

    //以只读方式打开文件,将文件指针指向文件头

    $handle = fopen("test.txt", "r");

    //以读写方式打开,将文件指针指向文件头

    $handle = fopen("test.txt", "r+");

    //以写入方式打开,将文件指针指向文件头,并将文件大小截为0。如果文件不存在则尝试创建。

    $handle = fopen("test.txt", "w");

    //以读写方式打开,将文件指针指向文件头,并将文件大小截为0。如果文件不存在则尝试创建。

    $handle = fopen("test.txt", "w+");

    //以写入方式打开文件,将文件指针指向文件末尾。如果文件不存在则尝试创建。

    $handle = fopen("test.txt", "a");

    //以读写方式打开文件,将文件指针指向文件末尾。如果文件不存在则尝试创建。

    $handle = fopen("test.txt", "a+");

    fclose()

    ?>

    Copy after login

    读取文件

    • fread(), file_get_contents(), file()

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    <?php

    //需要使用fopen,fread,fclose来进行文件的读取操作

    $filename = "test.txt";

    $handle = fopen($filename, "r");

    $contents = fread($handle, filesize($filename)); //fread需要传入两个参数,第一个参数为

    文件句柄,第二个参数为最大读取的字节数

    fclose($handle);

    //更加简洁的方式

    file_get_contents($filename)

    ?>

    Copy after login

    写入文件

    • fwrite(), file_put_contents()

    1

    2

    3

    4

    5

    6

    7

    8

    9

    <?php

    //需要fopen,fwrite,fclose来进行文件的写入操作

    $handle = fopen("test.txt","w");

    fwrite($handle,"添加文字到文件中");//fwrite接受两个参数作为输入,$handle为文件句柄,"添加文

    字到文件中"为需要写入的内容

    fclose($handle);

    //更加简洁的方式

    file_put_contents("test.txt", "使用file_put_contents()函数写入的内容")

    ?>

    Copy after login

    文件和目录基本操作

    删除文件

    • unlink()

    1

    2

    3

    4

    <?php

    $file = "temp.txt";

    unlink($file);

    ?>

    Copy after login

    复制文件

    • copy()

    1

    2

    3

    4

    5

    <?php

    $sourceFile = "html/cache.txt"; //被复制的文件必须确保存在

    $targetFile = "html/copyCache.txt";

    copy($sourceFile, $targetFile)

    ?>

    Copy after login

    移动,重命名文件或目录

    • rename()

    1

    2

    3

    4

    5

    6

    7

    8

    9

    <?php

    //使用rename()函数重命名一个文件或目录

    rename(&#39;test.txt&#39;, &#39;rename.txt&#39;) //将test.txt文件重命名为rename.txt

    rename(&#39;test&#39;,&#39;rename&#39;) //将test目录重命名为rename

    //使用rename()函数移动文件,并改名

    rename("test.txt","test/a.txt");//将test.txt移动到test文件夹下,并改名为a.txt

    //使用rename()函数移动目录到目标目录

    rename("test","html/test");

    ?>

    Copy after login

    推荐学习:《PHP视频教程

    The above is the detailed content of This article will take you through file and directory operations in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

See all articles