Làm cách nào để xóa tệp khỏi cơ sở dữ liệu và thư mục 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. Nó trả về TRUE nếu tệp được xóa thành công nếu không thì FALSE

cú pháp

$filename đại diện cho tên của tệp sẽ bị xóa

Ví dụ xóa tệp PHP

đầu ra

File deleted successfully

Hôm nay, chúng tôi muốn chia sẻ với bạn PHP Xóa tệp khỏi thư mục và cơ sở dữ liệu. Trong bài đăng này, chúng tôi sẽ chỉ cho bạn PHP xóa hình ảnh khỏi mysql để xóa cả thư mục, nghe về Xóa các tệp đã tải lên khỏi thư mục bằng PHP và MySQL, chúng tôi sẽ cung cấp cho bạn bản demo và ví dụ để thực hiện. Trong bài đăng này, chúng ta sẽ tìm hiểu về Cách cho phép người dùng xóa tệp khỏi cơ sở dữ liệu và đường dẫn thư mục tệp với một ví dụ

PHP Xóa tệp khỏi thư mục và cơ sở dữ liệu

nội dung

  • PHP Xóa tệp khỏi thư mục và cơ sở dữ liệu
    • Xóa tệp trong PHP bằng chức năng hủy liên kết
    • Đọc
    • Tóm lược
    • Bài viết liên quan

Có những điều sau đây Đơn giản về PHP Xóa tệp khỏi thư mục và cơ sở dữ liệu Thông tin đầy đủ với ví dụ và mã nguồn

Vì tôi sẽ giới thiệu Bài đăng này với ví dụ Hoạt động trực tiếp để phát triển việc tạo và xóa tệp trong php, vì vậy tệp xóa php trong thư mục cho ví dụ này như sau

Trong các dự án web hàng ngày của bạn, bạn tình cờ làm việc với nhiều tệp thuộc các loại khác nhau, chẳng hạn như. php,. html,. css, hình ảnh, v.v.

Theo thời gian, bạn có thể đến một điểm mà bạn không còn cần một số tệp này nữa và muốn xóa chúng

Đây có thể là một nhiệm vụ quá sức, đặc biệt nếu chúng có số lượng lớn và muốn chọn và xóa những cái cụ thể với một tên tệp nhất định hoặc những cái đáp ứng các tiêu chí nhất định

May mắn thay, bạn có thể xóa chúng theo chương trình bằng tập lệnh PHP

Trong bài viết này, bạn sẽ tìm hiểu nhiều phương pháp trong đó bạn có thể xóa một hoặc nhiều tệp trong một thư mục nhất định bằng lập trình bằng cách sử dụng PHP

Xóa một tệp bằng PHP

Để xóa một tệp, hãy sử dụng hàm PHP


2 có sẵn. Tất cả những gì bạn cần là chuyển tên của tệp cho hàm và nó sẽ bị xóa

cú pháp

unlink[$filename];

ví dụ 1


Đoạn mã trên xóa một tệp có tên image. jpg được đặt trong cùng thư mục với tệp PHP có mã

Nếu tệp bị xóa không nằm trong cùng thư mục với tập lệnh PHP thì bạn cần đưa đường dẫn tương đối đến vào hàm


2 như trong ví dụ bên dưới

ví dụ 2

Tôi đã tạo một tệp PHP có tên là "filedeletion. php" và đặt nó vào đường dẫn thư mục. "/opt/lampp/htdocs/www/demos/" như hình bên dưới

Tôi cũng đã đặt một tệp có tên là "logo. png" và đặt nó vào đường dẫn thư mục. "/opt/lampp/htdocs/www/demos/images/" như hình bên dưới

Đường dẫn tương đối đến tệp "logo. png" từ tập lệnh PHP là "hình ảnh/logo. png". Vì vậy, tôi đã thêm mã bên dưới vào "filedeletion. tập tin php"


Chạy đoạn mã trên sẽ xóa hoàn toàn "logo. png" từ thư mục "hình ảnh"

Xin lưu ý rằng bạn cần có quyền ghi vào thư mục chứa tệp cần xóa. Nếu bạn không có quyền đó, bạn sẽ gặp lỗi bên dưới

Cảnh báo. hủy liên kết [hình ảnh/logo. png]. Quyền bị từ chối trong /opt/lampp/htdocs/www/demos/filedeletion. php trên dòng 3

Bạn có thể thêm câu lệnh if vào đoạn mã trên để hiển thị thông báo thành công khi xóa thành công hoặc thông báo lỗi khi xóa lỗi như bên dưới


Nếu bạn cố xóa một tệp không tồn tại trong thư mục, bạn sẽ gặp lỗi bên dưới

Cảnh báo. hủy liên kết [hình ảnh/logo. png]. Không có tệp hoặc thư mục như vậy trong /opt/lampp/htdocs/www/demos/filedeletion. php trên dòng 3

Do đó, điều quan trọng trước tiên là kiểm tra xem tệp đã tồn tại chưa trước khi thử xóa tệp đó

Chúng tôi sử dụng hàm PHP


4 dựng sẵn để thực hiện kiểm tra. Nó trả về true nếu tệp tồn tại hoặc false nếu không có tệp nào tồn tại trong thư mục được chỉ định

cú pháp

________số 8

Tương tự như hàm unlink[], hãy chuyển đường dẫn tệp nếu tệp không nằm trong cùng thư mục với tập lệnh PHP

Ví dụ

Mã bên dưới chỉ thực hiện thao tác xóa sau khi chúng tôi xác nhận rằng tệp tồn tại. Ngược lại sẽ báo lỗi file không tồn tại


Nếu bạn có nhiều tệp muốn xóa và tên của chúng được lưu trong bảng cơ sở dữ liệu hoặc trong một mảng, bạn có thể lặp lại đoạn mã trên trong một vòng lặp foreach hoặc một lúc như trong ví dụ bên dưới


0

 

Xóa nhiều hoặc tất cả các tệp trong một thư mục bằng PHP

Có một số cách để xóa tất cả các tệp trong một thư mục bằng PHP. Trong các phương pháp này, chúng tôi vẫn sử dụng cùng một thư mục như trong các ví dụ trước đó cho mục đích trình diễn

Phương pháp 1

Trong phương pháp này, chúng tôi sử dụng hàm


5 để lấy tên của tất cả các tệp trong thư mục. Sau đó, sử dụng tệp vòng lặp foreach để lặp qua tên tệp. Sau đó ta dùng hàm

6 để kiểm tra tên file có hợp lệ không và cuối cùng là hàm

2 để xóa file như ví dụ bên dưới


4

Phương pháp 2

Trong phương pháp này, chúng tôi tạo danh sách tất cả các tệp trong thư mục của mình bằng hàm


5, lọc danh sách đó bằng hàm

9 và cuối cùng ánh xạ chúng vào hàm

2 bằng hàm

1

Ví dụ


9

Bạn có thể đơn giản hóa đoạn mã trên thành một dòng như bên dưới

unlink[$filename];
0


Xóa nhiều tệp của một loại tệp nhất định

Từ các phương pháp và ví dụ trên, giờ đây bạn có thể thoải mái xóa một hoặc tất cả các tệp trong một thư mục bằng PHP

Nhưng điều gì sẽ xảy ra nếu bạn có một thư mục chứa tất cả các loại tệp, vd. . html,. php,. pdf,. css,. png,. jpg, v.v. Trong trường hợp này, giả sử bạn muốn xóa tất cả các tệp thuộc loại. png và để nguyên phần còn lại. Các phương pháp trên sẽ không giúp bạn

Trong phương pháp này, chúng tôi làm chính xác điều đó. Cách làm cũng tương tự như trên chỉ khác là ta chỉ định loại file của file muốn xóa

Chúng tôi sử dụng hàm


5 để tìm kiếm tất cả các tệp loại

3 trong thư mục "hình ảnh" và sau đó ánh xạ chúng vào hàm

2 bằng cách sử dụng hàm

1 như trong ví dụ bên dưới


0


Xóa file ẩn bằng PHP

Bạn không thể xóa các tệp ẩn bằng các phương pháp/ví dụ trên. Để xóa file ẩn bằng code PHP bạn cần cụ thể hơn trong hàm


5 và thực hiện như bên dưới


1

Vẫn còn một số cách khác để bạn có thể xóa nhiều tệp trong một thư mục. Tất cả chúng đều sử dụng hàm


2 nhưng có các phương thức khác nhau để truy cập tệp và lặp qua chúng

Làm cách nào để xóa tệp khỏi cơ sở dữ liệu 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.

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

Đây là một ví dụ.

Chủ Đề