Thứ Ba, 28 tháng 5, 2013

Làm việc với thư mục, tập tin trong php

Đối với các ngôn ngữ  lập trình, làm việc với thư mục và tập tin là điều không tránh khỏi. Bài học hôm nay chúng ta cùng tìm hiểu một số hàm làm việc với thư mục trong PHP

1, mkdir( $pathname, $mode )

Hàm mkdir cho phép chúng ta tạo thư mục mới
$pathname: Đường dẫn tới thư mục cần tạo
$mode: Gán quyền truy cập dữ liệu, mặc định là 0777 (toàn quyền: ghi, xóa, sửa,…). Xem thêm thông số trong hàm chmod().
Ví dụ: Tạo thư mục images trong thư mục upload
1mkdir( "uploads/images" );

2, chmod( $dir, $mode )

Phân quyền cho thư mục, tuy nhiên vì lý do bảo mật, các nhà cung cấp hosting thường không cho phép sử dụng hàm chmod, xem thêm về hàm  chmod().

3, is_dir( $path_to_dir )

Kiểm tra xem có phải là thư mục hay không.
Ví dụ: kiểm tra xem  images có phải là thư mục hay không hay không?
1if( is_dir("uploads/images") ) {
2   echo "Tồn tại thư mục images";
3}
4else {
5   echo "Không tồn tại thư mục images";
6}

4, rmdir( $path_to_dir )

Xóa thư mục được chỉ định, chú ý: thư mục xóa phải rỗng (không chứa bất kỳ thư mục và tập tin nào khác).
Ví dụ:
1if( is_dir("uploads/images") ) {
2   rmdir( "uploads/images" );
3   echo "Đã xóa  thư mục images";
4}

5, getcwd(): Lấy đường dẫn thư mục hiện tại

Ví dụ:
1echo getcwd();
Kết quả: C:\AppServ\www\khoahoc

6, dirname( $path_to_dir_or_file )

Lấy được dẫn thư mục cha của thư mục hoặc tập tin đang làm việc
Ví dụ:
Lấy đường dẫn của thư mục chứa file đang làm việc
1echo dirname( __file__ );
Kết quả: C:\AppServ\www\khoahoc
Chú ý: __file__ là hằng có giá trị là đường dẫn tập tin hiện tại

7, opendir( $path_to_dir ): Mở một thư mục để làm việc

8, readdir( $handle ): Đọc thông tin handle từ thư mục đã mở

Ví dụ: Viết code hiển thị tất cả tập tin và thư mục hiện có trong thư mục uploads
01$handle = opendir( "uploads" );
02if( $handle ) {
03   while ( $file = readdir( $handle ) ) {
04      if( $file != '.' && $file != '..' ) {
05         if( is_dir( "uploads/" . $file ) )
06            $dir_or_file = 'Thu muc: ';
07         else
08            $dir_or_file = 'Tap tin: ';
09         echo $dir_or_file . $file . "<br>";
10       }
11    }
12}

9, scandir( $path_to_dir ):

Trả về mảng danh sách file và thư mục hiện có trong thư mục
Ví dụ:
1$handle = scandir( "uploads" );
2print_r( $handle );
Kết quả:
Array ( [0] => . [1] => .. [2] => file 1.txt [3] => file 2.txt [4] => file 3.txt [5] => img )

1 nhận xét: