1. Mở file
Trong PHP để mở 1 file trên máy chủ bạn dùng hàm fopen có cu pháp sau :
$biến=fopen(tên file với đầy đủ đuờng dẫn, chế độ mở file)
Bảng chếđộ mở file
Mode Diễn giải
r Mở file dưới dạng Read-only r+ Mở file dưới dạng Read-Write w Mở file dưới dạng Write-only w+
Mở file dưới dạng Write-Read. Nếu file này tồn tại, nội dung sẽ bị xóa, nếu file không tồn tại chúng sẽđược tạo ra
a
Mở file dưới dạng Append. Ghi dữ liệu từ phần cuối file trởđi, trong trường hợp file không tồn tại chúng sẽđược tạo ra
a+
Mở file dưới dạng Append. Ghi dữ liệu từ đầu file trở đi, trong trường hợp file không tồn tại chúng sẽđược tạo ra
<?php
$f="c:\hopdong\\thanhly.txt"; $ft=fopen($f,"a");
?>
Bạn có thể mở file thông qua Ftp hay HTTP
<?php $f="ftp://www.abc.com/listcard.txt"; $ft=fopen($f,"a"); $f="http://www.abc.com/listcard.txt"; $ft=fopen($f,"a"); ?>
Để kiểm tra việc mở file có được hay không ta dùng cơ chế bẫy lỗi bằng cách dùng dấu @ trước biến $f
$f="c:\hopdong\\thanhly.txt"; @ $ft=fopen($f,"a");
if (!$ft) {
echo "Your Orders could not process in this time"; echo "Please check your system and try again!";
} else
echo "Open file ok!"; ?>
2. Đọc nội dung trên file
• Đểđọc nội dung trên 1 file bạn dùng hàm fgets(biến file, số ký tự)
• Để biết được nội dung file đã hết hay chưa bạn dùng hàm feof(), hàm này cho giá trị true khi con trỏđến cuối file. <?php $f="c:\hopdong\\thanhly.txt"; @ $ft=fopen($f,"r"); if(!$ft) {
echo "No Orders Pending, Please try later!<br>"; exit;
} else {
echo "<b>Orders Processing</b><br>"; while (!feof($ft)) { $order=fgets($ft,10); echo $order."<br>"; } }
echo "Read file successfull!"; ?>
• Đểđọc tòan bộ nội dung fiel bạn nên dùng hàm readfile()
<?php
$f="c:\hopdong\\thanhly.txt"; @ $order=readfile($f); if(!$order)
{
echo "No Orders Pending, Please try later!<br>"; exit;
} else {
echo "<b>Orders Processing</b><br>"; echo $order;
}
echo "<br>Read file successfull!"; ?>
3. Ghi dữ liệu vào file
Muốn ghi file thì thư mục chưa các file cần ghi phải cấp quyền modify cho user Internet Guest Account.
• Để ghi nội dung vào file bạn dùng hàm fwrite(biến file, nội dung)
<?php
$f="c:\hopdong\\thanhly.txt"; @ $ft=fopen($f,"a");
if (!$ft) {
echo "Your Orders could not process in this time<br>"; echo "Please check your system and try again!";
} else {
$f="Your Orders have been write in this time"; fwrite($ft,$f);
echo "Write to file successfull!"; }
?>
• Khi ghi dữ liệu ra file bạn có thể dúng \t để nhảy tab hay \n để xuống hàng
<?php
$f="c:\hopdong\\thanhly.txt"; @ $ft=fopen($f,"a");
if (!$ft) {
echo "Your Orders could not process in this time<br>"; echo "Please check your system and try again!";
} else { $p=10; for($q=1;$q<=5;$q++) { $outstring=$q." bottle\t".$p; $outstring=$outstring. " vnd\t".$q*$p."\n"; fwrite($ft,$outstring); }
echo "Write to file successfull!"; }
?>
4. Đóng file
Sau khi mở file đểđọc hay ghi bạn file đóng file lại bằng hàm fclose(biến file) . Hàm trả về true nếu đóng file thành công, còn không trả về false.
5. Kiểm tra file
Khi mở file thông thường b5n nên kiểm tra xem file đó có tồn tại hay không bạn nên dùng hàm
file_exists()
<?php
$f="c:\hopdong\\thanhly.txt"; //Kiem tra file
if (!file_exists($f)) {
echo "No Orders Pending, Please try later!<br>"; exit; } else { $order=readfile($f);
echo "<br><b>Orders Processing</b><br>"; echo $order;
}
echo "<br>Read file successfull!"; ?>
6. Kiểm tra dung lượng của file
Khi mở file để biết được dung lượng của file đó bao nhiêu. Hàm filesize() cho biết tổng số byte của file cần mở.
<?php
$f="c:\hopdong\\thanhly.txt"; //Kiem tra file
if (!file_exists($f)) {
echo "No Orders Pending, Please try later!<br>"; exit;
} else {
$size=filesize($f);
echo "Size of <b>Orders Processing</b> "; echo "is $size byte(s)<br>";
} ?>
7. Xóa file
Để xó hẳn 1 file trên máy chủ bạn dùng unlink() với đầy đủđường dẫn của file cần xóa. Tuy nhiên bạn nên kiển tra trước file đó có tồn tại hay không trườc rồi mới xóa.
<?php
$f="c:\hopdong\\thanhly.txt"; //Kiem tra file
if (!file_exists($f)) {
echo "No Orders Pending, "; echo "Please try later!<br>"; exit; } else { $ok=unlink($f); if ($ok)
echo "File have been deleted!"; else