Thao tác với tập tin

Một phần của tài liệu Tài liệu PHP cơ bản potx (Trang 34 - 45)

• Lệnh include() cho phép phối hợp giữa các file trong một PHP project.

include() sử dụng để chia sẻ các hàm dùng chung, các đoạn mã chung trong một project có nhiều file.

• Nếu không tìm thấy file được, include() sẽ hiện thông báo warning nhưng không dừng chương trình

• PHP cung cấp một lệnh tương tực include() require(), lệnh này có sự khác biệt là sẽ dừng ngày chương trình không tìm thấy file

include_once() giống như include(), tuy nhiên có điểm khác biệt là chỉ include 1 lần, lần sau nếu gặp lại file này thì ko include nữa

Thao tác với tập tin

1.basename ( string $path [, string $suffix] )

a.Trả về tên file, $suffix là phần mở rộng của file. Nếu cung cấp thông tin này thì tên file trả về sẽ không chứa phần mở rộng.

b.Example:

$file = "C:\bai_hat.wma";

echo basename($file, ".wma"); //bai_hat echo basename($file); //bai_hat.wma

Thao tác với tập tin

2.copy ( string $source, string $dest [, resource $context] )

a.Copy file từ $source to $dest. Nếu $source or $dest là URL thì hàm có thể trả về failure

b.Example:

$source = "C:\bai_hat.wma"; $dest = "D:\bai_hat.wma";

Thao tác với tập tin

3.resource fopen ( string $filename, string $mode [, bool $use_include_path [, resource $context]] )

a.Mở file hoặc URL

b.Nếu $filename là một URL thì PHP sẽ tìm protocol handler(wrapper) cho protocol đó. Nếu ko wrapper nào được tìm thấy thì PHP sẽ hiển thị thông báo lỗi. Bạn cũng cần phải kiểm tra thông số allow_url_fopen đã được bật

c.Nếu file được chỉ định là file local thì bạn cần chắc chắn rằng đã setting quyền cho file này được đọc.

d.Ở mỗi họ hệ điều hành khác nhau thì có những cách để kết thúc một dòng khác nhau. Unix sử dụng “n”, windows là “rn” và Mac là “r”. Nếu bạn sử dụng sai thì script sẽ hiển thị không đúng những gì mong đợi.

e.Mode: chỉ định kiểu mà bạn muốn truy cập tới stream. Danh sách mode: ·“r”: mở để đọc, đặt con trỏ ở đầu file

·“r+”: mở để đọc và ghi, con trỏ sẽ được đặt ở đầu file

·“w”: mở chỉ để ghi, con trỏ file đặt ở đầu, tiến hành xóa hết dữ liệu của file. Nếu file ko tồn tại thì sẽ tạo file mới ·“w+”: tương tự như w nhưng có thể đọc

·“a”: mở file chỉ để ghi, con trỏ file đặt ở cuối, nếu file ko tồn tại thì sẽ tự động tạo ·“a+” tương tự như a, có thể đọc file

·“x”: tạo file và chỉ open để ghi, con trỏ đặt ở đầu file. Nếu file đã tồn tại thì sẽ thông báo lỗi, nếu file chưa tồn tại sẽ tự động tạo ·“x+” tương tự như x, có thêm chức năng đọc

f.Example:

$handle = fopen("C:AuditionKhi da muon mang.wma", "r");

$handle3 = fopen("ftp:// userassword@diendanphp.com”)//Địa chỉ email này đã được bảo vệ từ spam bots, bạn cần kích hoạt Javascript để xem nó. /somefile.txt", "w");

Thao tác với tập tin

4.string fgets ( resource $handle [, int $length] )

a.Đọc nội dung file theo từng dòng

b.Nếu $length ko được chỉ định thì hàm sẽ đọc đến dòng cuối cùng c.Example: $handle = @fopen("C:testlog.txt", "r"); if ($handle) { while (!feof($handle)) { $buffer = fgets($handle); echo $buffer . "<br/>"; } fclose($handle); } //Output:

//09:34:28 VirtualDisk - couldn't load BBArchive.dll - 126 //09:34:40 VirtualDisk - couldn't load BBArchive.dll - 126

Thao tác với tập tin

5.string fgetss ( resource $handle [, int $length [, string $allowable_tags]] )

a.Đọc nội dung file theo từng dòng, loại bỏ các thẻ HTML và thẻ PHP trong nội dung đọc được.

b.$allowable_tags chỉ định thẻ nào ko bị loại bỏ

c.$length ko được chỉ định thì hàm sẽ đọc đến cuối file d.Example: trong ví dụ này thì thẻ a sẽ ko bị loại bỏ $handle = @fopen("C:testlog.php", "r");

$allowable_tags = "<a>"; if ($handle) {

while (!feof($handle)) {

$buffer = fgetss ($handle , 4096, $allowable_tags); echo $buffer . "<br/>";

}

fclose($handle); }

Thao tác với tập tin

6.string file_get_contents ( string $filename [, int $flags [, resource $context [, int $offset [, int $maxlen]]]] )

a.Function đọc nội dung file và trả về một chuỗi, hàm bắt đầu đọc từ giá trị offset đến $maxlen đã được chỉ định, giá trị này tính theo bytes. Nếu thất bại thì hàm trả về FALSE

Thao tác với tập tin

7.fread ( resource $handle , int $length )

a.Đọc nội dung file giới hạn bởi $length(bytes) b.Example:

$source = "C:testlog.php"; $handle = fopen($source, "r");

$contents = fread($handle, filesize($source));

var_dump($contents); //ouput: string(158) "09:34:28 VirtualDisk -....xxxxxxxx"

Thao tác với tập tin

8.int file_put_contents ( string $filename, mixed $data [, int $flags [, resource $context]] )

a.Cho phép ghi nội dung vào file, nếu file ko tồn tại thì sẽ tạo file mới

b.$data ở đây có thể là một string, array hoặc stream resource. Nếu data là một array thì function này sẽ tự động convert array thành string và ghi vào file. Việc convert này tương đương với việc ta dùng hàm implode(“”, $array)

c.$flags ở đây nhận một số giá trị:

·FILE_APPEND: ghi tiếp tục vào file, ko ghi đè ·LOCK_EX: lock file trước khi ghi nội dung $source = "C:testlog.php";

$data = "This is a string";

$data2 = array('element 1', 'element 2','element 3');

$res = file_put_contents($source, $data2); //Content of file: element 1element 2element 3

Thao tác với tập tin

9.array fgetcsv ( resource $handle [, int $length [, string $delimiter [, string $enclosure [, string $escape]]]] )

Thao tác với tập tin

10.int fputcsv ( resource $handle, array $fields [, string $delimiter [, string $enclosure]] )

a.Ghi nội dung ra file CSV $csvfile = "C:xxx.csv"; $csvfile2 = "C:xxx1.csv"; $f = fopen($csvfile, "r"); while ($r = fgetcsv($f)) { $array[] = $r; } print "<pre>"; print_r($array); $f2 = fopen($csvfile2, "w+"); foreach ($array as $v) { fputcsv($f2,$v); } fclose($f); fclose($f2);

Một phần của tài liệu Tài liệu PHP cơ bản potx (Trang 34 - 45)