Fungsi direktori PHP seperti namanya adalah satu set fungsi yang digunakan dalam mendapatkan butiran, mengubah suainya dan mengambil maklumat mengenai pelbagai direktori sistem fail dan kandungan khususnya. Banyak operasi boleh dilakukan pada direktori seperti mencipta, memadam, menukar direktori kerja sekarang, menyenaraikan fail yang ada dalam direktori dan sebagainya. Tiada pemasangan berasingan diperlukan untuk fungsi ini kerana ia datang sebagai sebahagian daripada teras PHP. Tetapi untuk mendayakan fungsi chroot() kita perlu mengkonfigurasi pilihan –enable-chroot-func.
IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olokMulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Mari kita lihat beberapa fungsi direktori PHP asas seperti di bawah:
Kami menggunakan fungsi mkdir() untuk mencipta direktori baharu dalam skrip pengaturcaraan PHP.
Sintaks:
mkdir($dir_path,$mode,$recursive_flag,$context);
di mana,
Contoh:
<?php mkdir("/articles/"); echo("Directory created"); ?>
Output:
Ini ialah contoh asas untuk menunjukkan penciptaan direktori dalam laluan yang kami perlukan. Pastikan laluan mempunyai kebenaran yang mencukupi jika tidak ralat "kebenaran ditolak" akan dilemparkan.
Kami menggunakan opendir() dan readdir() untuk membuka pautan direktori dan membacanya masing-masing. Langkah 1 ialah membuka direktori dan Langkah 2 ialah membacanya.
Langkah 1: Untuk membuka pautan direktori, opendir() ialah fungsi yang kami gunakan untuk melakukan langkah ini. Ia memerlukan dua argumen input seperti yang dinyatakan di bawah.
Sintaks:
opendir($dir_path,$context);
Ini mengembalikan nilai data sumber sebagai outputnya. ID sumber yang disediakannya digunakan dalam langkah pemprosesan selanjutnya jika tidak, kami mendapat ralat kerana ID sumber tidak sah.
Langkah 2: Untuk membaca kandungan direktori, readdir() ialah fungsi yang digunakan untuk tujuan ini dan ia perlu dipanggil secara rekursif sehingga penghujung direktori dicapai oleh direktori pegang.
Contoh:
<?php $direct = "/files/"; if (is_dir($direct)){ if ($td = opendir($direct)){ while (($file = readdir($td)) !== false){ echo "filename:" . $file . "<br>"; } closedir($td); } } ?>
Output:
Dalam contoh ini dahulu, kami mengisytiharkan laluan direktori yang perlu dibaca. Kami sedang menyemak penyataan jika jika direktori itu ada dan kemudian meneruskan untuk membuka kandungan direktori dan membaca. Output memaparkan nama fail yang terdapat di dalam direktori.
Kami menggunakan fungsi closedir() untuk menutup direktori selepas membaca kandungannya.
Sintaks:
$dir_handle = opendir($dir_path); ... ... closedir($dir_handle);
Contoh:
<?php $dir = "/file1"; if (is_dir($dir)) { if ($dh = opendir($dir)) { $direc = readdir($dh); echo("File present inside directory are:" .direc); closedir($dh); echo("Closed directory"); } } ?>
Output:
Dalam contoh ini, kami mula-mula mengisytiharkan laluan direktori kami. Kemudian menggunakan pernyataan bersyarat jika kami menyemak sama ada laluan itu sah dan jika ya, maka kami membuka direktori, membaca pembolehubahnya dan kemudian menutupnya. Oleh itu, sebarang operasi boleh dilakukan antara pembukaan dan penutupan direktori.
Kami menggunakan fungsi chdir() untuk menukar direktori kerja semasa yang ditunjuknya.
Sintaks:
chdir(directory)
Ia hanya memerlukan satu parameter iaitu direktori yang mana direktori kerja semasa harus dituju. Ia menjadi benar apabila berjaya dan palsu jika gagal menukar direktori.
Contoh:
<?php // Get current directory echo getcwd()."\n"; // Change directory chdir("/workspace/test"); // Get current directory echo getcwd(); ?>
Output:
In this example, we are first printing the present working directory. Then we are changing the same using chdir function to “test” directory and printing the same on the output. Hence make sure the entire path we are giving here exists.
We use the function chroot() for changing the root directory of the ongoing process to the directory path we pass as an argument in this function. Also, the present working directory path will be changed to “/”. To perform this function one needs root permission/privileges.
Syntax:
chroot(directory)
Example:
<?php // Changing root directory path chroot("/change/path/dir/"); // Displaying present directory echo getcwd(); ?>
Output:
In this example, we are first using the chroot function to change the path of the root directory. Next, we are displaying the present working directory which will be now changed to home path.
For this purpose, we are using rewinddir() function which can reset the directory handle initially created by opendir() function.
Syntax:
rewinddir(directory)
It accepts only the directory path as its input argument which is used to tell the directory handle resource path which was opened with opendir() previously. This is an optional parameter which if not specified then the previous link used by the opendir() will be considered.
Example:
<?php $direc = "/file/"; // To open the directory and read its contents if (is_dir($direc)){ if ($place = opendir($direc)){ // List files in images directory while (($file = readdir($place)) !== false){ echo "filename:" . $file . "\n"; } rewinddir(); echo("Using the function rewinddir\n"); // List files again while (($file = readdir($place)) !== false){ echo "filename:" . $file . "\n"; } closedir($place); echo("Closed directory"); } } ?>
Output:
In this example first, we are specifying the directory path and if statement we are using to verify if the directory path is present or not. If the directory is present then we are opening and reading the contents of the file and printing the same. Now the file handler will stop printing since it reached the end of file pointer. When we use the rewinddir() function it resets the file handler and hence when we print the directory contents it prints the same output again.
We have gone through some of the basic and important PHP directory functions commonly used in this article. We also noticed that a few of these functions are dependant on each other. For example, we cannot use readdir() without using opendir(). Few other functions which are used are dir(), scandir() and getcwd().
Atas ialah kandungan terperinci Direktori PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!