BÀI 9: CÁC HÀM XỬ LÝ FILE VÀ UPLOAD FILE TRONG PHP — PHP, UPLOAD FILE TRONG PHP

Việc cách xử lý tệp tin vào php siêu quan tiền trọng vìtrong những vận dụng thực tiễn ta tốt sử dụng file để lưu trữ dữ cache mang lại website hay những tàng trữ một trang bị nào đó để cho nhằm mục tiêu góp ứng dụng chạy nkhô cứng rộng, chính vì như thế tôi viết bài bác này góp các bạn làm cho quen thuộc cùng với một số trong những hàm tương quan cho file nlỗi hiểu file, ghi file, sinh sản thư mục bắt đầu, xóa thư mục, xóa file. Trong bài bác này tôi không đề cùa tới vấn đề upload tệp tin.

Bạn đang xem: Bài 9: các hàm xử lý file và upload file trong php — php, upload file trong php

1. Mngơi nghỉ file

Để mtại một file ta dùng cú pháp sau: open($path, $option). Trong đó $path là đường truyền mang đến tệp tin cần mở, $option là quyền chất nhận được thao tác làm việc bên trên file.

Ta có danh sách các quyền sau:

ModeDiễn giải
rRead only
r+Read + Write
wWrite only
w+Write + Read. Nếu file này vĩnh cửu thì văn bản cũ sẽ bị xóa đi cùng ghi lại ngôn từ new, còn nếu file chưa có thì nó tạo thành tệp tin mới
aMnghỉ ngơi dưới dạng append dữ liệu, chỉ bao gồm write cùng trường hợp tệp tin vĩnh cửu nó vẫn ghi tiếp văn bản phía bên dưới, ngược chở lại nếu tệp tin ko trường tồn nó sản xuất file mới
a+Msinh hoạt bên dưới dạng append dữ liệu, bao hàm write cùng read.Nếu file mãi sau nó đang ghi tiếp câu chữ phía dưới, trở lại giả dụ tệp tin ko sống thọ nó tạo thành file mới
bMlàm việc bên dưới dạng chính sách binary

Ví dụ:


// Mở 1 tệp tin, ta dùng vết
đặt trước hàm fopen// nhằm phòng ngôi trường đúng theo đường truyền $path ta truyền// vào bị sai nó sẽ không bung lỗi ra màn hình.// Đường dẫn $path có thể là đường truyền tương đối// hoặc tuyệt vời và hoàn hảo nhất phần đông được $path = "thử nghiệm.txt";$fp =
fopen($path, "r"); // Kiểm tra tệp tin msinh hoạt thành công xuất sắc khôngif (!$fp) eđến "Mnghỉ ngơi tệp tin không thành công";else emang lại "Mngơi nghỉ file thành công";

2. Đọc file

Có 3 biện pháp đọc file thường thì trong PHPhường. đó là phát âm từng loại, gọi từng ký kết từ bỏ và gọi hết tệp tin.

Ta cần sử dụng hàm fgetc($fp) nhằm phát âm theo từng cam kết trường đoản cú, dùng fgets($fp) nhằm gọi theo từng loại. Đối với hiểu từng mẫu và gọi từng cam kết trường đoản cú ta cần cần sử dụng hàm feof($fp) đặt trong khoảng lặp while để sau khoản thời gian gọi xong xuôi nó đã gửi sang trọng mẫu new hoặc cam kết trường đoản cú bắt đầu.

Để hiểu hết tất cả file ta dùng hàm fread($fp, $size), trong các số ấy $fp là đối tượng dịp mngơi nghỉ tệp tin còn $size là kích cỡ của file đề nghị gọi. Để mang form size của file đề nghị hiểu ta sử dụng hàm filesize($path).

Ví dụ: Đọc file từng cam kết tự


$fp =
fopen("test.txt", "r"); // Kiểm tra file msống thành công xuất sắc khôngif (!$fp) eđến "Msinh hoạt tệp tin không thành công";else // Lặp qua từng ký kết trường đoản cú nhằm đọc while(!feof($fp)) emang lại fgetc($fp);

Ví dụ: Đọc file từng dòng


$fp =
fopen("thử nghiệm.txt", "r"); // Kiểm tra tệp tin mnghỉ ngơi thành công xuất sắc khôngif (!$fp) emang lại "Mngơi nghỉ tệp tin ko thành công";else // Lặp qua từng mẫu để gọi while(!feof($fp)) emang lại fgets($fp);

Ví dụ: Đọc không còn file


$fp =
fopen("test.txt", "r"); // Kiểm tra file msống thành công xuất sắc khôngif (!$fp) emang lại "Mở tệp tin ko thành công";else // Đọc tệp tin cùng trả về câu chữ $data = fread($fp, filesize("chạy thử.txt")); eđến $data;

3. Ghi file

Để ghi câu chữ vào tệp tin ta dùng hàm fwrite($fp, $content) trong những số đó $fp là đối tượng người dùng trả về dịp mngơi nghỉ tệp tin, còn $nội dung là câu chữ ao ước ghi vào.

Việc ghi file phụ thuộc vào thời gian chúng ta msinh hoạt tệp tin ra làm sao. ví dụ như lúc bạn mngơi nghỉ tệp tin ghi đtrằn thì dịp ghi tệp tin nó đang ghi đè cổ, thời gian chúng ta mlàm việc tệp tin ghi loại append thì cơ hội ghi file nó vẫn thêm xuống cuối file, nếu như khách hàng mở tệp tin chỉ cho hiểu thì bạn quan trọng ghi file được.

Ví dụ:


$fp =
fopen("test.txt", "w"); // Kiểm tra tệp tin msống thành công khôngif (!$fp) eđến "Msống file ko thành công";else $data = "obatambeienwasirherbal.com file functions tutorial"; fwrite($fp, $data);

4. Đóng File

Việc mở tệp tin để sử dụng cơ mà ko đóng tệp tin vô cùng nguy khốn, vì vậy sau khi thực hiện hoàn thành chúng ta nên đóng file nhằm an toán rộng. Để đóng góp tệp tin ta cần sử dụng hàm fclose($fp) trong đó $fp là đối tượng người sử dụng trả về thời gian chúng ta mlàm việc tệp tin.

Ví dụ:


$fp =
fopen("thử nghiệm.txt", "w"); // Kiểm tra tệp tin mngơi nghỉ thành công khôngif (!$fp) eđến "Mlàm việc file không thành công";else $data = "obatambeienwasirherbal.com tệp tin functions tutorial"; // Ghi file fwrite($fp, $data); // Đóng file fclose($fp);

5 Các hàm xử lý tệp tin khác

Sau đây là một trong những hàm cách xử lý tệp tin không giống.

Xem thêm: 15+ Regular Expressions Thông Dụng Cho Các Ký Tự Đặc Biệt Trong Php

Kiểm tra tệp tin có mãi sau không

Ta dùng hàm file_exists($path), trong số đó $path là đường truyền mang đến file nên kiểm tra, ví dụ:


if (file_exists("demo.txt")) emang lại "File tồn tại";

Kiểm tra tệp tin có được cung cấp quyền ghi không

a sử dụng hàm is_writable ($path) trong các số ấy $path là băng thông mang đến tệp tin bắt buộc bình chọn .

Ví dụ:


$fp =
fopen("test.txt", "w"); // Kiểm tra file mnghỉ ngơi thành công khôngif (!$fp) echo "Mngơi nghỉ tệp tin không thành công";else if (is_writable ("test.txt")) fwrite($fp, "Welcome"); fclose($fp);

Lấy văn bản một file mà lại ko yêu cầu dùng hàm fread

Ta dùng hàm file_get_contents($path) để lấy văn bản của một file, trong những số ấy $path là đường dẫn cho file cần rước. $path có thể là đường link mang đến một trang web trên mạng internet thì nó vẫn trả về nội dung html của trang web đó.

Ví dụ:


// Lấy nội dung file txtecho file_get_contents("thử nghiệm.txt"); // Lấy câu chữ đường liên kết http://www.obatambeienwasirherbal.comemang đến file_get_contents("http://www.obatambeienwasirherbal.com");

Ghi ngôn từ tệp tin mà lại không yêu cầu cần sử dụng hàm fwrite

Trước khi sử dụng hàm này chúng ta nên cần sử dụng hàm is_writable nhằm chất vấn file đã có được phép ghi ko.

Ta sử dụng hàm file_put_contents($path, $noidung) để ghi câu chữ cho một tệp tin, trong đó $path là đường truyền mang đến file yêu cầu ghi, $noidung là ngôn từ bạn có nhu cầu ghi vào file.

Ví dụ:


file_put_contents("demo.txt", "noi dung");

Đổi tên file

Để đổi tên file ta dùng hàm rename($oldname, $newname), trong số ấy $oldname là đường dẫn đến tệp tin nên thay tên, $newname là đường truyền mới có kèm tên file buộc phải thay đổi . Nếu các bạn chỉ ý muốn thay tên thôi thì băng thông của cả hai vươn lên là giống như nhau, chỉ khác nhau làm việc cái thương hiệu tệp tin. Nếu tên file bắt đầu bị trùng thì tệp tin kia sẽ ảnh hưởng ghi đè.

Ví dụ:


rename("demo.txt", "demo2.txt");

Copy file

Để copy sang trọng tệp tin mới ta dùng hàm copy($source, $dest), trong số đó $source là path file yêu cầu copy với $dest là path tệp tin nên di chuyển tới. Nếu bạn có nhu cầu đổi luôn thương hiệu thì đường truyền $dest bạn knhị báo một chiếc thương hiệu khác.

Ví dụ:


if (!copy("demo2.txt", "demo3.txt")) emang lại "Copy thất bại";

Xóa file

Ta cần sử dụng hàm unlink($path) nhằm xóa tệp tin, trong những số ấy $path là đường dẫn mang lại file yêu cầu xóa, ví dụ:


if (file_exists("demo.txt")) unlink("chạy thử.txt");

Kiểm tra một đường dẫn thư mục bao gồm vĩnh cửu không

Ta cần sử dụng hàm is_dir($filename), trong những số đó $filename là đường dẫn đến folder bắt buộc khám nghiệm.

Ví dụ:


if(is_dir("system")) eđến "Folder Tồn Tại";

Tạo một thư mục mới

Ta cần sử dụng hàm mkdir($path) nhằm sinh sản folder mới, trong đó $path là đường dẫn mang đến thư mục buộc phải sinh sản. Bạn để ý folder sau cuối đó là thương hiệu thư mục bạn phải sinh sản cùng tất cả những folder trước nó các bạn chắc chắn là bắt buộc có, nếu không sẽ bị lỗi.

Ví dụ:


// Kiểm tra thư mục parent chưa tồn tại chưa, nếu như bao gồm thì chế tạo ra thư mục conif(is_dir("parent/sub")) mkdir("parent/sub");

6. Lời kết