PHP memiliki banyak fungsi yang berhubungan dengan sistem file, yang tidak hanya membantu Anda membuka file, tetapi juga menampilkan isi direktori, memindahkan file, dll. Banyak orang bahkan telah menulis pengelola file berbasis web menggunakan PHP.
Pertama-tama, saya perlu mengingatkan Anda sesuatu tentang jalur file: di Windows Anda dapat menggunakan garis miring "/" atau garis miring terbalik "\" di jalur file, sedangkan sistem operasi lain hanya menggunakan "/". Untuk alasan kompatibilitas, contoh berikut menggunakan representasi "/":
Skrip sederhana berikut menampilkan daftar direktori dasar. Komentar ada dalam kode dan jelaskan setiap langkah:
<? /* Berikan path lengkap ke direktori yang ingin Anda akses dalam variabel $dir_name*/
$dir_name = /home/me/;
/* Buat handle dan buka hasilnya dari direktori yang diberikan* /
$dir = opendir($dir_name);
/
* Mulai menambahkan sepotong teks ke tempat di mana elemen daftar (nama file) akan ditempatkan */
$file_list = <ul>;
pernyataan while untuk membaca semua elemen direktori yang dibuka. Jika nama file bukan "." atau "..", maka tampilkan nama file dalam daftar */
while ($file_name = readdir($dir)) {
if (($nama_file != .) && ($nama_file != ..)) {
$daftar_file .= <li>$nama_file;
}
}
/* Selesaikan daftar*/
$file_list .= </ul>;
/* Tutup pegangan direktori terbuka dan akhiri segmen kode PHP*/
closeir
($dir)
;
<HTML >
<KEPALA>
<TITLE>Daftar Direktori</TITLE>
</KEPALA>
<TUBUH>
<!-- Gunakan PHP untuk mencetak nama direktori yang Anda baca -->
<P>File di: <?echo $dir_name;
<!-- Gunakan PHP untuk mencetak daftar direktori -->
<?gema $file_daftar; ?>
</TUBUH>
</HTML>
Saat ini, sudah ada daftar direktori. Perlu Anda ingat bahwa untuk membaca isi suatu direktori atau file (Anda akan segera melihatnya), platform yang menjalankan PHP tempat pengguna berada setidaknya harus memiliki izin membaca pada direktori atau file tersebut.
Contoh berikut menunjukkan cara menyalin file:
<? /* Masukkan path file yang akan disalin ke dalam variabel $original, dan path target yang akan disalin ke dalam variabel $copied */
$original = /home/me/ mydatabasedump;
$copied = /archive/mydatabasedumo_1010;
/* Gunakan fungsi copy() untuk menyalin file sumber ke tujuan, atau diakhiri dengan mengeluarkan pesan kesalahan*/
@copy($original, $copied) atau die(Tidak dapat menyalin file.);
?>
Contoh skrip adalah langkah pertama dalam membuat cadangan sistem. Saat skrip dijalankan, skrip tersebut terlebih dahulu menyalin database ke lokasi berbeda untuk alasan keamanan. Dengan memodifikasi crontab, Anda dapat menjalankan file ini pada waktu yang dipilih tanpa campur tangan pengguna.
Dengan asumsi Lynx sudah ada di sistem, Anda dapat membuat entri crontab untuk menjalankan Lynx dan mengakses file. Mengakses file akan menjalankan skrip dan membuat salinan file. Contoh berikut akan menjalankan script pada jam 5 pagi dan kemudian mematikan Lynx:
0 5 * * * [nama pengguna] lynx -dump http://localhost/copyfile.php 1>/dev/null 2>&1
jika Anda menjalankan PHP versi CGI, Anda dapat melewati bagian Lynx dan merujuk ke binari:
0 5 * * * [nama pengguna] php /path/to/copyfile.php 1>/dev/null 2>&1