Xóa nội dung tệp php

Chào mừng bạn đến với hướng dẫn về cách xóa tệp trong PHP. Bạn cần xóa một số tệp cũ, tệp sao lưu hoặc tệp tạm thời trong PHP?

  • Để xóa một tệp trong PHP, hãy sử dụng
    <?php
    // (A) FILE TO DELETE
    $file = "file.txt";
     
    // (B) CHECK BEFORE DELETE
    if (file_exists($file)) { echo unlink($file) ? "OK" : "ERROR" ; }
    else { echo "$file NOT FOUND"; }
    6
  • Để xóa một thư mục trống, hãy sử dụng
    <?php
    // (A) FILE TO DELETE
    $file = "file.txt";
     
    // (B) CHECK BEFORE DELETE
    if (file_exists($file)) { echo unlink($file) ? "OK" : "ERROR" ; }
    else { echo "$file NOT FOUND"; }
    7

Điều đó bao gồm những điều cơ bản siêu nhanh, nhưng "xóa nâng cao" toàn bộ thư mục và chỉ một số loại tệp nhất định là một câu chuyện khác. Làm thế nào để chúng ta làm những điều đó?

ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn ví dụ khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào

 

 

TLDR – TRANG TRÌNH BÀY NHANH

Xóa nội dung tệp php
Tải xuống & Ghi chú

Xóa nội dung tệp php
PHP Xóa tệp

Xóa nội dung tệp php
Bit bổ sung & liên kết

Xóa nội dung tệp php
Kết thúc

 

TẢI XUỐNG & LƯU Ý

Đầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa

 

GHI CHÚ NHANH

Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với cả thế giới… Nếu bạn cần câu trả lời gấp, vui lòng xem danh sách các trang web của tôi để được trợ giúp về lập trình

 

MÃ VÍ DỤ TẢI XUỐNG

Nhấp vào đây để tải xuống mã ví dụ, tôi đã phát hành mã này theo giấy phép MIT, vì vậy vui lòng xây dựng trên mã đó hoặc sử dụng mã đó trong dự án của riêng bạn

 

 

CÁC CÁCH XÓA TẬP TIN TRONG PHP

Được rồi, bây giờ chúng ta hãy đi vào các ví dụ về cách xóa tệp trong PHP

 

1) XÓA ĐƠN GIẢN

1-cơ bản. php

<?php
// (A) DELETE FILE
echo unlink("file.txt") ? "OK" : "ERROR" ;
 
// (B) DELETE FOLDER
echo rmdir("d:/test") ? "OK" : "ERROR" ;

Như trong phần giới thiệu ở trên, chúng tôi sử dụng

<?php
// (A) FILE TO DELETE
$file = "file.txt";
 
// (B) CHECK BEFORE DELETE
if (file_exists($file)) { echo unlink($file) ? "OK" : "ERROR" ; }
else { echo "$file NOT FOUND"; }
8 để xóa tệp và
<?php
// (A) FILE TO DELETE
$file = "file.txt";
 
// (B) CHECK BEFORE DELETE
if (file_exists($file)) { echo unlink($file) ? "OK" : "ERROR" ; }
else { echo "$file NOT FOUND"; }
9 để xóa thư mục. Hãy lưu ý rằng cả hai chức năng sẽ trả về
<?php
// (A) FILE TO DELETE
$file = "file.txt";
 
// (B) CHECK BEFORE DELETE
if (file_exists($file)) { echo unlink($file) ? "OK" : "ERROR" ; }
else { echo "$file NOT FOUND"; }
0 để cho biết quá trình này có thành công hay không

P. S. Không thể xóa các tệp được bảo vệ chống sao chép và không thể xóa các thư mục không trống

 

2) XÓA NẾU TẬP TIN TỒN TẠI

2-xóa-tồn tại. php

<?php
// (A) FILE TO DELETE
$file = "file.txt";
 
// (B) CHECK BEFORE DELETE
if (file_exists($file)) { echo unlink($file) ? "OK" : "ERROR" ; }
else { echo "$file NOT FOUND"; }

PHP sẽ đưa ra cảnh báo khi xóa các tệp không tồn tại. Vì vậy, đây là một “khắc phục nhanh” – Chỉ cần thực hiện kiểm tra

<?php
// (A) FILE TO DELETE
$file = "file.txt";
 
// (B) CHECK BEFORE DELETE
if (file_exists($file)) { echo unlink($file) ? "OK" : "ERROR" ; }
else { echo "$file NOT FOUND"; }
1 trước khi tiến hành xóa

 

 

3) CHỈ XÓA MỘT SỐ LOẠI TẬP TIN

3-xóa-loại. php

<?php
// (A) GET ALL FILES OF SPECIFIED EXTENSION
$folder = "d:/test/";
$ext = "jpg,png,gif";
$files = glob("$folder*.{$ext}", GLOB_BRACE);
 
// (B) LOOP AND DELETE
if (count($files)>0) {
  foreach ($files as $f) { unlink($f); }
}

Chỉ muốn xóa một số loại tệp nhất định trong một thư mục?

 

4) CHỈ XÓA TỆP NẾU CŨ HƠN NGÀY ĐẶT

4-xóa-cũ. php

<?php
// (A) FOLDER & KEEP DATE
$folder = "d:/test/";
$keep = strtotime("2022-12-01");
$files = glob("$folder*", GLOB_BRACE);

// (B) DELETE ONLY IF OLDER THAN SET DATE
if (count($files)>0) { foreach ($files as $f) {
  if (filemtime($f) < $keep) { unlink($f); }
}}

Bạn muốn xóa một số bản sao lưu cũ hoặc tệp lỗi thời? . Sau đó, sử dụng

<?php
// (A) FILE TO DELETE
$file = "file.txt";
 
// (B) CHECK BEFORE DELETE
if (file_exists($file)) { echo unlink($file) ? "OK" : "ERROR" ; }
else { echo "$file NOT FOUND"; }
4 để kiểm tra thời gian “tệp được sửa đổi lần cuối” – Xóa tệp nếu tệp cũ hơn ngày đã đặt

 

 

5) XÓA TOÀN BỘ THƯ MỤC

5-xóa-thư mục. php

<?php
function delFolder ($folder) {
  // (A1) GET ALL FILES + FOLDERS
  $all = glob("$folder*", GLOB_BRACE);

  // (A2) DELETE FILES & RECURSIVE DELETE SUB-FOLDERS
  if (count($all)>0) { foreach ($all as $a) {
    if (is_dir($a)) { delFolder("$a/"); }
    else { echo unlink($a); }
  }}
 
  // (A3) DELETE CURRENT FOLDER ITSELF
  rmdir($folder);
}

// (B) GO!
delFolder("d:/test/");

Vì chúng tôi không thể sử dụng

<?php
// (A) FILE TO DELETE
$file = "file.txt";
 
// (B) CHECK BEFORE DELETE
if (file_exists($file)) { echo unlink($file) ? "OK" : "ERROR" ; }
else { echo "$file NOT FOUND"; }
9 để xóa trực tiếp toàn bộ thư mục, nên chúng tôi phải tạo một hàm đệ quy sẽ đào sâu vào các thư mục con và xóa mọi thứ bên trong

 

6) XÓA DÒNG LỆNH

6-xóa-lệnh. php

<?php
// (A) FILE TO DELETE
$file = "file.txt";
 
// (B) CHECK BEFORE DELETE
if (file_exists($file)) { echo unlink($file) ? "OK" : "ERROR" ; }
else { echo "$file NOT FOUND"; }
0

Cuối cùng, đây không hoàn toàn là “xóa trong PHP”… Nhưng chúng ta thực sự có thể chạy các lệnh shell trong PHP để xóa các tệp và thư mục

 

 

BIT BỔ SUNG & LIÊN KẾT

Đó là tất cả cho hướng dẫn chính và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn

 

TỔNG KẾT

Chức năng Mô tả Liên kết tham chiếu
<?php
// (A) FILE TO DELETE
$file = "file.txt";
 
// (B) CHECK BEFORE DELETE
if (file_exists($file)) { echo unlink($file) ? "OK" : "ERROR" ; }
else { echo "$file NOT FOUND"; }
6Xóa tệp mục tiêu. Bấm vào đây
<?php
// (A) FILE TO DELETE
$file = "file.txt";
 
// (B) CHECK BEFORE DELETE
if (file_exists($file)) { echo unlink($file) ? "OK" : "ERROR" ; }
else { echo "$file NOT FOUND"; }
7Xóa thư mục. Bấm vào đây
<?php
// (A) FILE TO DELETE
$file = "file.txt";
 
// (B) CHECK BEFORE DELETE
if (file_exists($file)) { echo unlink($file) ? "OK" : "ERROR" ; }
else { echo "$file NOT FOUND"; }
8Kiểm tra xem tệp đích có tồn tại không. Nhấp vào đây
<?php
// (A) FILE TO DELETE
$file = "file.txt";
 
// (B) CHECK BEFORE DELETE
if (file_exists($file)) { echo unlink($file) ? "OK" : "ERROR" ; }
else { echo "$file NOT FOUND"; }
9Nhận tất cả tên đường dẫn cho mẫu/thư mục đích đã cho. Bấm vào đây
<?php
// (A) GET ALL FILES OF SPECIFIED EXTENSION
$folder = "d:/test/";
$ext = "jpg,png,gif";
$files = glob("$folder*.{$ext}", GLOB_BRACE);
 
// (B) LOOP AND DELETE
if (count($files)>0) {
  foreach ($files as $f) { unlink($f); }
}
0Chạy lệnh trình bao. Bấm vào đây

 

LIÊN KẾT THÊM

  • Cách đọc tệp trong PHP – Code Boxx
  • Cách Viết Tệp Trong PHP – Code Boxx
  • Đường dẫn tuyệt đối và tương đối – Code Boxx

 

BẢNG CHEAT INFOGRAPHIC

Cảm ơn bạn đã đọc, và chúng tôi đã đi đến phần cuối của hướng dẫn này. Tôi hy vọng rằng nó đã giúp bạn với dự án của bạn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, xin vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc

Làm cách nào để xóa tệp tải lên trong PHP?

Trong PHP, chúng ta có thể xóa bất kỳ tệp nào bằng hàm unlink() . Hàm unlink() chỉ chấp nhận một đối số. tên tập tin. Nó tương tự như hàm unlink() của UNIX C. PHP unlink() tạo ra lỗi mức E_WARNING nếu tệp không bị xóa.

Xóa PHP là gì?

Không có hàm delete() trong PHP . Nếu bạn cần xóa một tập tin, hãy xem hàm unlink().

Làm cách nào để xóa tất cả các tệp trong một thư mục trong PHP?

php // Chương trình PHP để xóa tất cả các tệp // khỏi một thư mục // Đường dẫn thư mục sẽ bị xóa $folder_path = 'myw3docs/';

Làm cách nào để tạo tệp nếu không tồn tại trong PHP?

Tạo tệp PHP - fopen() . Có thể hơi khó hiểu, nhưng trong PHP, tệp được tạo bằng cách sử dụng cùng chức năng được sử dụng để mở tệp. Nếu bạn sử dụng fopen() trên một tệp không tồn tại, nó sẽ tạo tệp đó, với điều kiện là tệp được mở để ghi (w) hoặc nối thêm (a).