search
HomeBackend DevelopmentPHP TutorialThis article will take you through file and directory operations in PHP

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

<?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
*/

Quickly obtain the file name: basename()

##basename()

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

<?php
$xianyu = "/love/xianyu.php";
echo $filepath."中的文件名是:".basename($xianyu);
?>
/*
中的文件名是:xianyu.php
*/

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

<?php
$filepath = "/love/xianyu.php";
echo $filepath."中的路径部分是:". dirname($filepath);
?>
/*
/love/xianyu.php中的路径部分是:/love
*/

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

<?php
$dir = "images";
if($dir_handle = opendir($dir))
{
echo "获取目录句柄成功!";
closedir($dir_handle); //记得释放句柄
}
else
{
echo "打开目录错误";
}
?>

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
  • 创建目录

    <?php
    mkdir("123")
    ?>

    删除目录

    <?php
    rmdir("123")
    ?>

    获取当前工作目录

    <?php
    echo getcwd()
    ?>

    改变当前工作目录

    <?php
    echo getcwd() . &#39;<br>&#39;; // 显示当前目录
    chdir(&#39;hhh&#39;); //改变当前目录
    echo getcwd() . &#39;<br>&#39;; // 显示当前目录
    ?>

    获取目录句柄条目

    • readdir()

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

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

    <?php
    if ($handle = opendir(&#39;.&#39;)) {
    while (false !== ($file = readdir($handle))) {
    echo "$file\n";
    }
    closedir($handle);
    }
    ?>

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

    读取目录条目

    • scandir()

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

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

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

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

    文件操作


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

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

    一般操作

    判断文件是否存在

    <?php
    if(file_exists("test.txt"))
    {
    //如果文件存在就执行操作
    }
    ?>
    //如果文件存在返回true,不存在返回false

    创建,打开,关闭文件

    • fopen(), fclose()

    <?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()
    ?>

    读取文件

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

    <?php
    //需要使用fopen,fread,fclose来进行文件的读取操作
    $filename = "test.txt";
    $handle = fopen($filename, "r");
    $contents = fread($handle, filesize($filename)); //fread需要传入两个参数,第一个参数为
    文件句柄,第二个参数为最大读取的字节数
    fclose($handle);
    //更加简洁的方式
    file_get_contents($filename)
    ?>

    写入文件

    • fwrite(), file_put_contents()

    <?php
    //需要fopen,fwrite,fclose来进行文件的写入操作
    $handle = fopen("test.txt","w");
    fwrite($handle,"添加文字到文件中");//fwrite接受两个参数作为输入,$handle为文件句柄,"添加文
    字到文件中"为需要写入的内容
    fclose($handle);
    //更加简洁的方式
    file_put_contents("test.txt", "使用file_put_contents()函数写入的内容")
    ?>

    文件和目录基本操作

    删除文件

    • unlink()

    <?php
    $file = "temp.txt";
    unlink($file);
    ?>

    复制文件

    • copy()

    <?php
    $sourceFile = "html/cache.txt"; //被复制的文件必须确保存在
    $targetFile = "html/copyCache.txt";
    copy($sourceFile, $targetFile)
    ?>

    移动,重命名文件或目录

    • rename()

    <?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");
    ?>

    推荐学习:《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
This article is reproduced at:csdn. If there is any infringement, please contact admin@php.cn delete
PHP in Action: Real-World Examples and ApplicationsPHP in Action: Real-World Examples and ApplicationsApr 14, 2025 am 12:19 AM

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP: Creating Interactive Web Content with EasePHP: Creating Interactive Web Content with EaseApr 14, 2025 am 12:15 AM

PHP makes it easy to create interactive web content. 1) Dynamically generate content by embedding HTML and display it in real time based on user input or database data. 2) Process form submission and generate dynamic output to ensure that htmlspecialchars is used to prevent XSS. 3) Use MySQL to create a user registration system, and use password_hash and preprocessing statements to enhance security. Mastering these techniques will improve the efficiency of web development.

PHP and Python: Comparing Two Popular Programming LanguagesPHP and Python: Comparing Two Popular Programming LanguagesApr 14, 2025 am 12:13 AM

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

The Enduring Relevance of PHP: Is It Still Alive?The Enduring Relevance of PHP: Is It Still Alive?Apr 14, 2025 am 12:12 AM

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP's Current Status: A Look at Web Development TrendsPHP's Current Status: A Look at Web Development TrendsApr 13, 2025 am 12:20 AM

PHP remains important in modern web development, especially in content management and e-commerce platforms. 1) PHP has a rich ecosystem and strong framework support, such as Laravel and Symfony. 2) Performance optimization can be achieved through OPcache and Nginx. 3) PHP8.0 introduces JIT compiler to improve performance. 4) Cloud-native applications are deployed through Docker and Kubernetes to improve flexibility and scalability.

PHP vs. Other Languages: A ComparisonPHP vs. Other Languages: A ComparisonApr 13, 2025 am 12:19 AM

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP vs. Python: Core Features and FunctionalityPHP vs. Python: Core Features and FunctionalityApr 13, 2025 am 12:16 AM

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP: A Key Language for Web DevelopmentPHP: A Key Language for Web DevelopmentApr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

See all articles

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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment