Trang chủ » Lập trình » Xử lý file trong PHP: Tạo, mở, ghi, đọc, xóa

Xử lý file trong PHP: Tạo, mở, ghi, đọc, xóa

2356 Lượt xem

 

PHP có thể thao tác dữ liệu và xử lý dữ liệu thông qua quá trình nhận và đọc dữ liệu trên một file, quá trình làm việc với file trong PHP diễn ra như sau: Mở – Đọc (hoặc ghi) – Đóng file. Đó là một trong những tác vụ quan trọng của PHP là cho phép xử lý dữ liệu trực tiếp thông qua quá trình nhận và đọc nội dung trên file dữ liệu.

1. Mở file- fopen 

 
  1. <?php  
  2. //giaotrinhhay.com.txt– Xu ly file  
  3. fopen("Duong dan file","Che do mo file");  
  4. // Nen gan cho ham tren 1 bien sau nay tien su dung nhu ben duoi  
  5. $file="giaotrinhhay.com.txt"; //File can thuc thi  
  6. $ofile= fopen($file,"r"); // Mu file o che do chi doc  
  7. ?>  

– Chế đội mở file: 




2. Đóng file- fclose()


– Sau khi mở cần phải đóng nên sinh ra hàm này thôi 


– Cú pháp: fclose("File cần đóng");


File cần đóng ở đây không phải link file mà là quá trình mở file nhé

 
  1. <?php  
  2. $file="giaotrinhhay.com.txt"; //File can thuc thi  
  3. $ofile= fopen($file,"r"); // Mo file o che do chi doc  
  4. $cfile= fclose($ofile);  
  5. ?>  

3. Ghi nội dung vào file- fwrite()

 
  1. <?php  
  2. $wfile=fwrite("File can ghi","Noi dung file");  
  3. ?>  

File cần ghi chính là quá trình mở file. Ví dụ: 

 
  1. <?php  
  2. $file="giaotrinhhay.com.txt"; //File can thuc thi  
  3. $ofile= fopen($file,"r+"); // Mo file o che do doc+ghi  
  4. $wfile= fwrite($ofile,"thuthuatlaptrinh.net-Xu ly file trong PHP");  
  5. $cfile= fclose($ofile);  
  6. ?>  

4. Đọc nội dung file


4.1. Đọc chuỗi- fgets(); 

 
  1. <?php  
  2. fgets("File can doc");  
  3. ?>  

File cần đọc chính là quá trình mở file $ofile nhé

 
  1. <?php  
  2. $file="giaotrinhhay.com.txt"; //File can thuc thi  
  3. $ofile= fopen($file,"r+"); // Mo file o che do ghi doc  
  4. $wfile= fwrite($ofile,"giaotrinhhay.com.txt – Xu ly file trong PHP");  
  5. $cfile= fclose($ofile);  
  6. // Ghi noi dung xong phai dong lai, doc lai tiep tuc mo, doc xong roi dong  
  7.   
  8. $ofile= fopen($file,"r"); // Chi can doc  
  9. $content= fgets($ofile); // Lay noi dung file  
  10. $cfile= fclose($ofile);// Dong file  
  11. echo $content;// In noi dung da doc  
  12. ?>  

Tuy nhiên xét trường hợp file vietsource.txt có nội dung

giaotrinhhay.com.txt
PHP
ASP.NET
HTML5/CSS3

 

Thì fgets() chỉ đọc được nội trên 1 hàng, tức là đọc hết hàng đầu hàng sau nó ko đọc được nữa. Vì vậy để lấy được nội dung của toàn file chúng ta kiểm tra xem nội dung file còn không

– Hàm feof() kiểm tra xem nội dung hết chưa. Giờ chúng ta sẽ kiểm tra nếu chưa hết thì tiếp tục in 

 
  1. <?php  
  2. $file="vietsource.txt"; //File can thuc thi  
  3. $ofile= fopen($file,"r+"); // Mo file o che do ghi + doc  
  4. $wfile= fwrite($ofile,"giaotrinhhay.com.txt– Xu ly file trong PHP");  
  5. $cfile= fclose($ofile);  
  6.   
  7. $ofile= fopen($file,"r"); // Chi can doc  
  8. while(!feof($ofile)){ // Neu file chua het  
  9. $content= fgets($ofile); // Lay noi dung file  
  10. echo $content."  
  11. ";  
  12. }  
  13. $cfile= fclose($ofile);// Dong file  
  14. ?>  

4.2. Đọc ký tự- fgets()


– Tương tự như hàm fgets(), tuy nhiên hàm này chỉ đọc 1 ký tự, muốn đọc hết chúng ta sử dụng như sau: 

 
  1. $content="";  
  2. while(!feof($ofile)){ // Neu file chua het  
  3. $content .= fgets($ofile); // Lay noi dung file  
  4. echo $content."  
  5. ";  
  6. }  

Vì ký tự nên cần nối chuỗi bằng $content .= fgets($ofile); 


5. Xóa một tập tin 

 
  1. <?php  
  2. $my_file = 'giaotrinhhay.com.txt';  
  3. unlink($my_file);  
  4. ?>  

Tóm lại: Việc sử dụng file một cách thành thạo sẽ giúp bạn dễ dàng vận hành các ứng dụng mang quy mô vừa và nhỏ như: website nhiều ngôn ngữ, bộ đếm,…và cả những công nghệ web mới như XML một cách dễ dàng. Qua bài này chúng ta cũng hiểu được nguyên lý hoạt động, trình tự xử lý 1 file dữ liệu khi chúng được triệu gọi trong tài liệu PHP.