Nền tảng Kiến thức - Hành trang tới Tương lai
Card image

Chương 5-Bài 7. Xử lý (đọc - ghi) file trong PHP

Tác giả: Dương Nguyễn Phú Cường #11799
Ngày đăng: Hồi xưa đó
Lượt xem: 219

Đọc file trong PHP

Code ví dụ:

<!DOCTYPE html>
<html lang="vi">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="keywords" content="Nền tảng,HTML,CSS,XML,JavaScript, Lập trình C#, Lập trình, Web, Kiến thức, Đồ án">
  <meta name="author" content="Dương Nguyễn Phú Cường">
  <meta name="description" content="Cung cấp các kiến thức Nền tảng, cơ bản về Lập trình, Lập trình web, Lập trình di động, Cơ sở dữ liệu, ...">
  <meta property="og:locale" content="vi_VN">
  <meta property="og:type" content="website">
  <meta property="og:title" content="Nền tảng Kiến thức">
  <meta property="og:description" content="Cung cấp các kiến thức Nền tảng, cơ bản về Lập trình, Lập trình web, Lập trình di động, Cơ sở dữ liệu, ...">
  <meta property="og:url" content="https://nentang.vn/">
  <meta property="og:site_name" content="Nền tảng Kiến thức">
  <title>Bài tập đọc file LOG | NenTang.vn</title>
</head>

<body>
  <h1>Đọc thông tin file LOG Hệ thống</h1>
  <?php
  ini_set('display_errors', 0);
  ini_set('display_startup_errors', 0);
  error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT);

  try {
    // Mở file để đọc (R - READ)
    $filePath = __DIR__ . '/log-2023-10-25.txt';
    $logfile = fopen($filePath, 'r');

    if($logfile) {
      // Đọc toàn bộ nội dung file (dùng cho file nhỏ)
      // echo fread($logfile, filesize($filePath));

      // Đọc từng dòng (dành cho file lớn)
      while( ($line = fgets($logfile)) !== false ) {
        echo $line . '<br />';
      }
    } else {
      echo 'Không tìm thấy file!';
    }

    // Đóng file
    fclose($logfile);
  }
  catch(DivisionByZeroError $ex) {
    echo $ex->getMessage();
  }
  catch(Exception $ex) {
    echo $ex->getMessage();
  }
  ?>
</body>

</html>

Ghi file trong PHP

Code ví dụ:

<!DOCTYPE html>
<html lang="vi">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="keywords" content="Nền tảng,HTML,CSS,XML,JavaScript, Lập trình C#, Lập trình, Web, Kiến thức, Đồ án">
  <meta name="author" content="Dương Nguyễn Phú Cường">
  <meta name="description" content="Cung cấp các kiến thức Nền tảng, cơ bản về Lập trình, Lập trình web, Lập trình di động, Cơ sở dữ liệu, ...">
  <meta property="og:locale" content="vi_VN">
  <meta property="og:type" content="website">
  <meta property="og:title" content="Nền tảng Kiến thức">
  <meta property="og:description" content="Cung cấp các kiến thức Nền tảng, cơ bản về Lập trình, Lập trình web, Lập trình di động, Cơ sở dữ liệu, ...">
  <meta property="og:url" content="https://nentang.vn/">
  <meta property="og:site_name" content="Nền tảng Kiến thức">
  <title>Bài tập ghi file LOG | NenTang.vn</title>
</head>

<body>
  <h1>Ghi thông tin vào file LOG Hệ thống</h1>
  <form name="frmThaoTac" method="post" action="">
    <label for="">Thao tác</label>
    <select name="slThaoTac">
      <option value="read">Xem</option>
      <option value="create">Thêm</option>
      <option value="update">Sửa</option>
      <option value="delete">Xóa</option>
    </select>
    <br />

    <label for="">Ghi chú</label>
    <input type="text" name="txtGhiChu" />
    <br />

    <button name="btnLuu">Lưu log</button>
  </form>

  <?php
  if (isset($_POST['btnLuu'])) {
    // Thu thập thông tin từ người dùng gởi đến
    $thaotac = $_POST['slThaoTac'];
    $ghichu = $_POST['txtGhiChu'];

    $filePath = __DIR__ . '/log-2023-10-26.txt';
    if($logfile) {
      // Mở file để ghi đè (W - WRITE)
      $logfile = fopen($filePath, 'w') or die('Không thể mở file!');
      // Mở file để ghi vào cuối (A - APPEND)
      //$logfile = fopen($filePath, 'a') or die('Không thể mở file!');

      $txt = "Thao tác: $thaotac - Ghi chú: $ghichu";
      fwrite($logfile, $txt);
    }

    // Đóng file
    fclose($logfile);
  }
  ?>
</body>

</html>

Chương trình học


  1. Bức tranh tổng thể về Lập trình WEB 1
    1. Sơ đồ vận hành của một Website #1311
  2. Cài đặt môi trường Lập trình PHP 1
    1. Các chương trình cần thiết để Lập trình Web #8136
  3. PHP căn bản 6
    1. PHP là gì? Viết chương trình PHP đầu tiên #1237
    2. Các kiểu dữ liệu (data types), biến (variables), hằng số (constant), toán tử (operators) trong ngôn ngữ lập trình PHP #1242
    3. Bài tập Kiểm tra cú pháp PHP #1285
    4. Trình diễn (render) dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP #8696
    5. Trình diễn (render) dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP #9564
    6. Bài tập trình diện (render) tổng hợp: hiển thị mẫu in Hóa đơn bán hàng Nền tảng #11773
  4. Cấu trúc điều khiển trong PHP
  5. PHP Nâng cao 7
    1. Cookie trong PHP #8071
    2. Session trong PHP #8070
    3. Session và Cookie trong PHP #8073
    4. Phân tách cấu trúc URL với PHP #8778
    5. API là gì? Web API là gì? #8835
    6. AJAX là gì? Kỹ thuật sử dụng AJAX với JQUERY #8846
    7. Xử lý (đọc - ghi) file trong PHP #11799
  6. Bài tập thực hành 3
    1. Xem Thêm Sửa Xóa (CRUD) với CSDL MySQL trong PHP #8049
    2. Bài tập thiết kế OOP trong PHP #10169
    3. Tạo trang hiển thị kết quả thi kết thúc môn WEB #11793
  7. Thực hiện Dự án PHP thực tế mẫu - sử dụng PHP thuần 3
    1. Sơ đồ vận hành của trang Web sử dụng PHP #7888
    2. Khởi tạo cấu trúc thư mục dự án PHP #1358
    3. Tích hợp Composer vào dự án PHP #8138
  8. Thu thập và Xử lý dữ liệu từ Client đến Server trong PHP 3
    1. Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP #8704
    2. Thu thập và Xử lý dữ liệu bằng Yêu cầu POST (Request POST) trong PHP #8705
    3. Bài tập tạo Form Tìm kiếm Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP #8717
  9. Thao tác với Cơ sở dữ liệu MySQL 9
    1. Quy trình (workflow) xử lý thao tác với cơ sở dữ liệu MySQL trong PHP #9623
    2. Tạo kết nối đến CSDL MySQL trong PHP #8116
    3. Thực thi câu lệnh INSERT trong PHP #8118
    4. Thực thi câu lệnh UPDATE trong PHP #8120
    5. Thực thi câu lệnh DELETE trong PHP #8122
    6. Thực thi câu lệnh SELECT trong PHP #8124
    7. Thực thi câu lệnh INSERT với FORM trong PHP #8126
    8. Thực thi câu lệnh DELETE với FORM trong PHP #8130
    9. Thực thi câu lệnh UPDATE với FORM trong PHP #8133
  10. Dự án thực tế mẫu (PHP thuần) - Trang web bán hàng trực tuyến - Thiết kế Backend 17
    1. Khái niệm về bố cục (layouts) trong thiết kế giao diện Web / App #10538
    2. Thiết kế bố cục (layouts) cho giao diện Backend sử dụng PHP thuần #8740
    3. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Index #8748
    4. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Create #9291
    5. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Delete #9293
    6. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Edit #9292
    7. Ràng buộc dữ liệu (validation) #8761
    8. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục cho Liên kết Khóa ngoại #8781
    9. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) upload hình Sản phẩm (upload đơn, mỗi lần 1 file) #8799
    10. Tạo trang Đăng nhập trong Backend #8823
    11. Tạo trang Đăng xuất trong Backend #8826
    12. Tạo Web API lấy dữ liệu báo cáo thống kê #8834
    13. Tạo trang Bảng tin (Dashboard) #8758
    14. Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - Index #8856
    15. Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - In ấn Print #8858
    16. Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - Xóa Delete #8862
    17. Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - Thêm mới Create #8861
  11. Dự án thực tế mẫu (PHP thuần) - Trang web bán hàng trực tuyến - Thiết kế Frontend 7
    1. Thiết kế bố cục (layouts) cho giao diện Frontend sử dụng PHP thuần #8868
    2. Thực hiện Trang chủ Frontend #8873
    3. Thực hiện Trang Giới thiệu About #8876
    4. Thực hiện Trang Liên hệ Contact (Có gởi mail Thông báo) #8879
    5. Thực hiện Trang Chi tiết Sản phẩm Product Detail #8944
    6. Thực hiện Trang Giỏ hàng Cart #8978
    7. Thực hiện Trang Thanh toán #9049
  12. Bảo mật Trang web PHP 2
    1. Cách hacker tấn công vào Hệ thống bằng cách sử dụng SQL Injection và Cách phòng chống của Quản trị Trang web #9063
    2. Cách hacker chèn các đoạn mã độc vào Hệ thống bằng cách sử dụng XSS (Cross site scripting) và Cách phòng chống của Quản trị Trang web #9067
  13. Tài liệu Tham khảo 11
    1. Tài liệu Tham khảo #7933
    2. Cách export (dump) cơ sở dữ liệu MySQL bằng HeidiSQL #8343
    3. Đệ quy đa cấp trong PHP #8495
    4. Tạo bố cục (layout) trang web sử dụng INCLUDE REQUIRE trong PHP #8523
    5. Bài tập tổng hợp - Tạo trang web đọc Truyện Tranh và Tiểu Thuyết Online #9006
    6. Cách triển khai Web lên Hosting free ByetHost #9052
    7. Nguyên nhân và cách xử lý lỗi Warning: Cannot modify header information - headers already sent by #9917
    8. Cách triển khai Web lên Hosting free 000WebHost #9959
    9. Cách tích hợp chứng thực tài khoản bằng Google vào trang web #9973
    10. Source code Tham khảo Learning.NenTang.vn #10394
    11. Database mẫu ví dụ Bán hàng Salomon #11808
  14. Nộp đồ án 1
    1. Hướng dẫn nộp đồ án Khóa Thiết kế Web PHP + MySQL #9224
  15. Thao tác với cơ sở dữ liệu MySQL bằng kỹ thuật AJAX 8
    1. Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Index #9777
    2. Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Create #9781
    3. Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Edit #9783
    4. Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Delete #9784
    5. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Index #9773
    6. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Create #9774
    7. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Edit #9775
    8. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Delete #9776
  16. Video Live Stream 1
    1. Thiết kế Web Backend PHP & MySQL - Buổi 1 #9964
  17. Lập trình hướng đối tượng OOP (Object Oriented Programming) trong PHP 1
    1. Khái niệm lập trình hướng đối tượng OOP (Object Oriented Programming) trong PHP #11801
Các bài học

Chương trình học

Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...

Chương trình học


  1. Bức tranh tổng thể về Lập trình WEB 1
    1. Sơ đồ vận hành của một Website #1311
  2. Cài đặt môi trường Lập trình PHP 1
    1. Các chương trình cần thiết để Lập trình Web #8136
  3. PHP căn bản 6
    1. PHP là gì? Viết chương trình PHP đầu tiên #1237
    2. Các kiểu dữ liệu (data types), biến (variables), hằng số (constant), toán tử (operators) trong ngôn ngữ lập trình PHP #1242
    3. Bài tập Kiểm tra cú pháp PHP #1285
    4. Trình diễn (render) dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP #8696
    5. Trình diễn (render) dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP #9564
    6. Bài tập trình diện (render) tổng hợp: hiển thị mẫu in Hóa đơn bán hàng Nền tảng #11773
  4. Cấu trúc điều khiển trong PHP
  5. PHP Nâng cao 7
    1. Cookie trong PHP #8071
    2. Session trong PHP #8070
    3. Session và Cookie trong PHP #8073
    4. Phân tách cấu trúc URL với PHP #8778
    5. API là gì? Web API là gì? #8835
    6. AJAX là gì? Kỹ thuật sử dụng AJAX với JQUERY #8846
    7. Xử lý (đọc - ghi) file trong PHP #11799
  6. Bài tập thực hành 3
    1. Xem Thêm Sửa Xóa (CRUD) với CSDL MySQL trong PHP #8049
    2. Bài tập thiết kế OOP trong PHP #10169
    3. Tạo trang hiển thị kết quả thi kết thúc môn WEB #11793
  7. Thực hiện Dự án PHP thực tế mẫu - sử dụng PHP thuần 3
    1. Sơ đồ vận hành của trang Web sử dụng PHP #7888
    2. Khởi tạo cấu trúc thư mục dự án PHP #1358
    3. Tích hợp Composer vào dự án PHP #8138
  8. Thu thập và Xử lý dữ liệu từ Client đến Server trong PHP 3
    1. Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP #8704
    2. Thu thập và Xử lý dữ liệu bằng Yêu cầu POST (Request POST) trong PHP #8705
    3. Bài tập tạo Form Tìm kiếm Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP #8717
  9. Thao tác với Cơ sở dữ liệu MySQL 9
    1. Quy trình (workflow) xử lý thao tác với cơ sở dữ liệu MySQL trong PHP #9623
    2. Tạo kết nối đến CSDL MySQL trong PHP #8116
    3. Thực thi câu lệnh INSERT trong PHP #8118
    4. Thực thi câu lệnh UPDATE trong PHP #8120
    5. Thực thi câu lệnh DELETE trong PHP #8122
    6. Thực thi câu lệnh SELECT trong PHP #8124
    7. Thực thi câu lệnh INSERT với FORM trong PHP #8126
    8. Thực thi câu lệnh DELETE với FORM trong PHP #8130
    9. Thực thi câu lệnh UPDATE với FORM trong PHP #8133
  10. Dự án thực tế mẫu (PHP thuần) - Trang web bán hàng trực tuyến - Thiết kế Backend 17
    1. Khái niệm về bố cục (layouts) trong thiết kế giao diện Web / App #10538
    2. Thiết kế bố cục (layouts) cho giao diện Backend sử dụng PHP thuần #8740
    3. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Index #8748
    4. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Create #9291
    5. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Delete #9293
    6. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Edit #9292
    7. Ràng buộc dữ liệu (validation) #8761
    8. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục cho Liên kết Khóa ngoại #8781
    9. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) upload hình Sản phẩm (upload đơn, mỗi lần 1 file) #8799
    10. Tạo trang Đăng nhập trong Backend #8823
    11. Tạo trang Đăng xuất trong Backend #8826
    12. Tạo Web API lấy dữ liệu báo cáo thống kê #8834
    13. Tạo trang Bảng tin (Dashboard) #8758
    14. Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - Index #8856
    15. Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - In ấn Print #8858
    16. Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - Xóa Delete #8862
    17. Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - Thêm mới Create #8861
  11. Dự án thực tế mẫu (PHP thuần) - Trang web bán hàng trực tuyến - Thiết kế Frontend 7
    1. Thiết kế bố cục (layouts) cho giao diện Frontend sử dụng PHP thuần #8868
    2. Thực hiện Trang chủ Frontend #8873
    3. Thực hiện Trang Giới thiệu About #8876
    4. Thực hiện Trang Liên hệ Contact (Có gởi mail Thông báo) #8879
    5. Thực hiện Trang Chi tiết Sản phẩm Product Detail #8944
    6. Thực hiện Trang Giỏ hàng Cart #8978
    7. Thực hiện Trang Thanh toán #9049
  12. Bảo mật Trang web PHP 2
    1. Cách hacker tấn công vào Hệ thống bằng cách sử dụng SQL Injection và Cách phòng chống của Quản trị Trang web #9063
    2. Cách hacker chèn các đoạn mã độc vào Hệ thống bằng cách sử dụng XSS (Cross site scripting) và Cách phòng chống của Quản trị Trang web #9067
  13. Tài liệu Tham khảo 11
    1. Tài liệu Tham khảo #7933
    2. Cách export (dump) cơ sở dữ liệu MySQL bằng HeidiSQL #8343
    3. Đệ quy đa cấp trong PHP #8495
    4. Tạo bố cục (layout) trang web sử dụng INCLUDE REQUIRE trong PHP #8523
    5. Bài tập tổng hợp - Tạo trang web đọc Truyện Tranh và Tiểu Thuyết Online #9006
    6. Cách triển khai Web lên Hosting free ByetHost #9052
    7. Nguyên nhân và cách xử lý lỗi Warning: Cannot modify header information - headers already sent by #9917
    8. Cách triển khai Web lên Hosting free 000WebHost #9959
    9. Cách tích hợp chứng thực tài khoản bằng Google vào trang web #9973
    10. Source code Tham khảo Learning.NenTang.vn #10394
    11. Database mẫu ví dụ Bán hàng Salomon #11808
  14. Nộp đồ án 1
    1. Hướng dẫn nộp đồ án Khóa Thiết kế Web PHP + MySQL #9224
  15. Thao tác với cơ sở dữ liệu MySQL bằng kỹ thuật AJAX 8
    1. Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Index #9777
    2. Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Create #9781
    3. Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Edit #9783
    4. Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Delete #9784
    5. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Index #9773
    6. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Create #9774
    7. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Edit #9775
    8. Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Delete #9776
  16. Video Live Stream 1
    1. Thiết kế Web Backend PHP & MySQL - Buổi 1 #9964
  17. Lập trình hướng đối tượng OOP (Object Oriented Programming) trong PHP 1
    1. Khái niệm lập trình hướng đối tượng OOP (Object Oriented Programming) trong PHP #11801

Bài học trước Bài học tiếp theo