Một số hàm thao tác với files trong PHP

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:\Audition\Khi da muon mang.wma";
echo basename($file, ".wma"); //Khi da muon mang
echo basename($file); //Khi da muon mang.wma

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:\Audition\Khi da muon mang.wma";
$dest = "D:\Khi da muon mang.wma";

echo copy($source, $dest); //Output: 1 --> copy success

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à “\r\n” 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:\\Audition\\Khi 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");

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

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);
}

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
b.$flags chỉ có trong PHP6
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"
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
$res1 = file_put_contents($source, $data); //Content of file: This is a string

9.array fgetcsv ( resource $handle [, int $length [, string $delimiter [, string $enclosure [, string $escape]]]] )
a.Đọc nội dung file CSV theo từng dòng
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);

Nguồn http://diendanaptech.com


0 nhận xét to "Một số hàm thao tác với files trong PHP"

Đăng nhận xét

Nhãn

Blog Archive

Blog được thiết kế bởi Phùng Văn Minh