Direktori PHP

WBOY
Lepaskan: 2024-08-29 13:09:09
asal
1244 orang telah melayarinya

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-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Fungsi Direktori PHP

Mari kita lihat beberapa fungsi direktori PHP asas seperti di bawah:

1. Buat Direktori Baharu

Kami menggunakan fungsi mkdir() untuk mencipta direktori baharu dalam skrip pengaturcaraan PHP.

Sintaks:

mkdir($dir_path,$mode,$recursive_flag,$context);
Salin selepas log masuk

di mana,

  • $dir_path ialah sama ada laluan relatif atau mutlak di mana direktori baharu yang ditentukan akan dibuat.
  • $mode ialah parameter yang akan mengambil nilai perlapanan yang menentukan tahap di mana direktori yang baru dibuat boleh diakses.
  • $recursive ialah medan jenis bendera yang mempunyai 2 nilai sama ada benar atau salah yang sama ada boleh membenarkan kami membuat direktori bersarang atau tidak.
  • $context adalah serupa dengan apa yang kita ada dengan PHP unlink() seperti mempunyai strim untuk menentukan protokol tertentu dll. Ini juga akan mengembalikan hanya nilai boolean yang akan menjadi benar jika pelaksanaan berjaya diselesaikan dan palsu sebaliknya.

Contoh:

<?php
mkdir("/articles/");
echo("Directory created");
?>
Salin selepas log masuk

Output:

Direktori PHP

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.

2. Senaraikan Kandungan Direktori

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);
Salin selepas log masuk
  • $dir_path ialah laluan direktori yang perlu dibuka.
  • $context ialah parameter pilihan di mana kita boleh menentukan sama ada aliran konteks hadir.

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);
}
}
?>
Salin selepas log masuk

Output:

Direktori PHP

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.

3. Untuk Menutup Direktori

Kami menggunakan fungsi closedir() untuk menutup direktori selepas membaca kandungannya.

Sintaks:

$dir_handle = opendir($dir_path);
...
...
closedir($dir_handle);
Salin selepas log masuk

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");
}
}
?>
Salin selepas log masuk

Output:

Direktori PHP

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.

4. Untuk Menukar Direktori Semasa

Kami menggunakan fungsi chdir() untuk menukar direktori kerja semasa yang ditunjuknya.

Sintaks:

chdir(directory)
Salin selepas log masuk

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();
?>
Salin selepas log masuk

Output:

Direktori PHP

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.

5. To Change the Directory Path of Root

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)
Salin selepas log masuk

Example:

<?php
// Changing root directory path
chroot("/change/path/dir/");
// Displaying present directory
echo getcwd();
?>
Salin selepas log masuk

Output:

Direktori PHP

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.

6. To Reset the Directory Handle

For this purpose, we are using rewinddir() function which can reset the directory handle initially created by opendir() function.

Syntax:

rewinddir(directory)
Salin selepas log masuk

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");
}
}
?>
Salin selepas log masuk

Output:

Direktori PHP

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.

Conclusion

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!

Label berkaitan:
php
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan