You are on page 1of 3

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:
PHP Code:
$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:
PHP Code:
$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:
PHP Code:
$handle = fopen("C:\\Audition\\Khi da muon mang.wma", "r");
$handle3 = fopen("ftp://userassword@diendanphp.com/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:
PHP Code:
$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ỏ

PHP Code:
$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:
PHP Code:
$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
PHP Code:
$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

PHP Code:
$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);  

Edit/Delete Message

You might also like