/ / Php cơ bản / Comment (0)

Làm việc với file và thư mục trong php

Đối với các ngôn ngữ  lập trình, làm việc với file và thư mục 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.PHP cung cấp cho chúng ta các hàm cho phép chúng ta xử lý dữ liệu trực tiếp thông qua quá trình nhận và đọc nội dung trên một file dữ liệu.

File trong PHP

– Làm việc với file cho phép chúng ta có thể tùy biến nội dung của file, và có thể tạo, edit và sử dụng các file mà không cần phải lưu vào cơ sở dữ liệu (database). Việc này làm cho website trở nên tùy biến và tinh tế hơn, không cần phải lúc nào cũng phụ thuộc vào database.

– Kiểm tra 1 file có tồn tại hay không:

+ file_exists(): Kiểm tra một tập tin có tồn tại hay không,trả về true nếu tồn tại và ngược lại

+ Ví du:

if(file_exists(‘file.php’)){
           echo ‘File có tồn tại’;
}else{
           echo ‘File không tồn tại’;
}

Đóng mở 1 file trong PHP:

– Cú pháp mở 1 file

fopen("Đường dẫn tới file", thuộc tính).

+ Để mở 1 file, trong đó thuộc tính bao gồm các quyền hạn cho phép thao tác trên file đó như thế nào.

  •  r: Read-Only.
  •  r+: Read-Write.
  •  w: Write-Only. Nếu file không tồn tại thì sẽ tạo một file mới.
  • w+: Write-Read. Nếu file không tồn tại thì sẽ tạo một file mới….
  • a  : append – chỉ ghi. Nếu file tồn tại sẽ ghi tiếp vào phần dưới của nội dung, nếu file không tồn tại sẽ tạo mới.
  • a+  : append – đọc và ghi. Nếu file tồn tại sẽ ghi tiếp vào phần dưới của nội dung, nếu file không tồn tại sẽ tạo mới.
  • b   : mở dưới dạng file binary(hệ nhị phân).

– Cú pháp đóng 1 file

fclose(file vừa mở);

Ví dụ

$fp=fopen("test.txt",w) or exit(“Error");
fclose($fp);

+ Với  ví dụ trên ta đang thực hiện việc mở 1 file có tên test.txt để đọc nội dung trong file,nếu file này không tồn tại nó sẽ tự động tạo file này.

Ghi dữ liệu ra file trong PHP

+ Cách 1:

fwrite($file, $string);

+ Cách 2:

file_put_contents($file,$string);

Trong đó $file là file gốc đã được mở bằng hàm fopen, còn $string là nội dung sẽ được ghi vào file.Với cách 2 thì bạn không cần mở file gôc mà có thể ghi luôn nội dung vào trong file.

Ví dụ:

$file =fopen("test.txt",w)or exit(“Error");
$string = ‘Nội dung ghi vào file’;
fwrite($file,$string);
fclose($file);

Đọc dữ liệu trong file trong PHP

+ Cách 1:

file_get_contents($file);

Lấy nội dung file đưa vào 1 chuỗi

+ Cách 2 (sử dụng hàm fsget):

feof(file vừa mở) ;//kiểm tra xem đã tới cuối file chưa
fgets(file vừa mở).

Ví dụ:

$file =fopen("test.txt",w)or exit(“Error");
while(!feof($file))
{
    echo fgets($file);
}
fclose($file);

Với ví dụ sẽ thực hiện như sau,bước đầu tiên chúng ta sẽ mở file test.txt,sau đó ta kiểm tra nếu chưa tới cuối file (thông qua hàm feof) thì ta tiếp tục đọc từng dòng 1 trong file thông qua hàm fgets().

Xóa 1 file trong PHP:

unlink('đường dẫn tới file').

+ Ví dụ:

$file = 'test.txt';
if(file_exists($file)){
             unlink($file);
}

Ở ví dụ trên chúng ta đang thực hiện kiểm tra xem có tồn tại file test.txt không,nếu có tồn tài thì thực hiện xóa file này thông qua hàm unlink()

Copy file trong PHP:

+ Cú pháp:

bool copy ( string $source , string $dest )

Trong đó thì $source là file cần copy (file nguồn), $dest là file sẽ lưu sau khi copy (file đích),hàm copy sẽ trả về giá trị true nếu copy thành công,và ngược lại

+ Ví dụ:

$file = 'test.txt';
$newfile = 'example.txt';
if (!copy($file, $newfile)) {
  echo "Có lỗi trong quá trình copy file $file...\n";
}

Thư mục trong PHP

a.Tạo thư mục

+ Cú pháp:

mkdir( $pathname, $mode )
  • 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,…).

+ Ví dụ:

mkdir( "uploads/product" );

b.Phân quyền cho thư mục

+ Cú pháp:

chmod($dir, $mode).

+ Ví dụ:

chmod(‘product’, ‘0777’).

Kiểm tra xem có phải là thư mục hay không.

+ Cú pháp:

is_dir($dir);

+ Ví dụ:

if(is_dir(‘uploads/product’))
{
           echo ‘Tồn tại thư mục’;
}

Xóa thư mục

+ Cú pháp:

rmdir( $dir) ;

+ Ví dụ:

if( is_dir("uploads/product") )
{
          rmdir ("uploads/product") ;
}

Các hàm làm việc với thư mục

  1. getcwd(): Lấy đường dẫn thư mục
  2. dirname( $path_to_dir_or_file ):Lấy đườngdẫn thư mục cha của thư mục hoặc tập tin đang làm việc
  3. opendir( $path_to_dir ): Mở một thư mục để làm việc
  4. readdir( $handle ): Đọc thông tin handle từ thư mục đã mở
  5. scandir( $path_to_dir):Trả về mảng danh sách file và thư mục hiện có trong thư mục
  6. rename( $oldname,$newname ): Đổi tên file hoặc thư mục

glob(): Hàm làm việc nâng cao

glob(): Lấy các danh sách file và thư mục
Ví dụ 1: lấy các file có phần mở rộng là .php

$filelist = glob("*.php");
print_r($filelist);

Ví dụ 2: lấy các file có tên bắt đầu bằng file

$filelist = glob(“file*");
print_r($filelist);

Ví dụ 3: lấy tên tất cả các thư mục bắt đầu bằng dir

$filelist = glob(“dir*“, GLOB_ONLYDIR);
print_r($filelist);


03/09/2014
Written by nobitacnt

Trong bài viết không tránh khỏi những câu từ chưa chính xác,mong nhận được sự góp ý để website hoàn thiện hơn.Nếu thấy bài viết có ích với bạn hãy like và share để ủng hộ nhé :D.

Bài viết chùng chuyên mục

Gửi bình luận

Giới thiệu

Mình tạo ra blog này với mong muốn chia sẻ và học hỏi kinh nghiệm trong quá trình thiết kế website. Website đang trong quá trình phát triển chân thành cảm ơn mọi sự góp ý của các bạn để làm cho website ngày càng hoàn thiên.

DMCA.com Protection Status
Theo dõi qua Email

Tổng hợp các bài viết về

Hoc php - CodeIgniter Framework - Laravel Framework - PHP va MYSQL