Cách xóa hình ảnh đã tải lên khỏi thư mục và cơ sở dữ liệu trong PHP

Là người mới bắt đầu sử dụng PHP, việc xóa tệp khỏi thư mục và cơ sở dữ liệu có thể khó khăn. Vì nó bao gồm 2 quá trình. Đầu tiên là xóa tệp khỏi thư mục. Thứ hai là xóa bản ghi cơ sở dữ liệu có đường dẫn tệp đó

Nhà phát triển thường nhầm lẫn quá trình nào đến trước. Một số xóa bản ghi cơ sở dữ liệu trước rồi xóa tệp khỏi thư mục và một số xóa tệp trước rồi xóa bản ghi cơ sở dữ liệu. Vậy thực hành nào là đúng?

Cách tốt nhất là xóa tệp khỏi thư mục trước rồi xóa bản ghi cơ sở dữ liệu. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách làm điều đó. Bây giờ hãy bắt đầu

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn giải pháp xóa hình ảnh khỏi thư mục trong PHP, vì với sự trợ giúp của biểu mẫu khi chúng tôi lấy hình ảnh từ người dùng để lưu nó vào cơ sở dữ liệu, chúng tôi cũng lưu bản sao của tệp đã tải lên trong một thư mục nằm trong

Vì vậy, hôm nay chúng ta sẽ xem cách xóa hình ảnh đó khỏi thư mục trong php

Để biết gợi ý, một hàm được sử dụng để thực hiện công việc này và tên của hàm là hàm unlink[]

Hướng dẫn từng bước về xóa hình ảnh khỏi thư mục trong PHP. -

Đến đây, đầu tiên chúng ta hiểu về hàm unlink[]. Hàm unlink là hàm có sẵn trong php dùng để xóa file

Chúng ta phải gửi một tham số với chức năng unlink[] để xóa tệp cụ thể đó, nếu tệp được xóa thành công thì nó sẽ trả về true, nếu không nó sẽ trả về false

Bây giờ, chúng ta hãy xem cách sử dụng chức năng này với mã php để xóa tệp

  1. Ở đây, trước hết chúng ta phải tạo một biểu mẫu để lưu dữ liệu của mình vào cơ sở dữ liệu, nếu bạn không biết cách tạo biểu mẫu lưu dữ liệu vào cơ sở dữ liệu thì bạn có thể truy cập vào bài viết của chúng tôi, trong đó chúng tôi sẽ hướng dẫn bạn cách thực hiện
  2. Tiếp theo, tạo một trường khác ở đó là tệp loại đầu vào giúp lấy hình ảnh từ người dùng. Và khi nhấp vào nút, tệp sẽ được lưu vào cơ sở dữ liệu và để duy trì bản sao của tệp đó trên máy chủ của chúng tôi, chúng tôi cũng phải sử dụng hàm move_upload_file[] để lưu hình ảnh đó vào thư mục được yêu cầu
  3. Bây giờ, để xóa hình ảnh khỏi thư mục. Phải có một trang web khác hoặc biểu mẫu. Trong đó chúng tôi sẽ tạo một kết nối cơ sở dữ liệu
  4. Ở đây, chúng tôi cũng phải tạo một nút, khi nhấp vào nút đó, các mã sẽ hoạt động và tệp hình ảnh sẽ bị xóa và xóa khỏi thư mục cũng như khỏi cơ sở dữ liệu của chúng tôi
  5. Như bạn thấy ở trên đầu tiên chúng ta sử dụng chức năng isset cho nút, nút đó có được bấm hay không
  6. Ở đây, chúng tôi sẽ không hiển thị mã với sự trợ giúp mà chúng tôi có thể xóa tệp hình ảnh khỏi cơ sở dữ liệu, chúng tôi chỉ hiển thị mã với sự trợ giúp mà chúng tôi có thể xóa hình ảnh khỏi thư mục
  7. Sau đó, dữ liệu của người dùng đã được lấy từ cơ sở dữ liệu. Bởi vì một hình ảnh cụ thể được chỉ định cho người dùng cụ thể thông qua kết nối
  8. Ở đây, phải có một id hoặc tên được đặt cho hình ảnh đó khi chúng ta nhấp vào nút xóa bằng kết nối cơ sở dữ liệu
  9. Bây giờ, đường dẫn giống nhau cho tất cả người dùng mà chúng tôi lưu tệp hình ảnh. Và chúng tôi sử dụng chức năng hủy liên kết ở đó với đường dẫn hình ảnh và tên hình ảnh. Điều này giúp chúng tôi xóa hình ảnh cần thiết khỏi thư mục

Sự kết luận. -

Cuối cùng, ở đây chúng ta có thể nói rằng với sự trợ giúp của bài viết này, chúng ta có thể hiểu cách xóa hình ảnh khỏi thư mục trong php

Tôi hy vọng hướng dẫn xóa hình ảnh khỏi thư mục trong PHP này sẽ giúp ích cho bạn và các bước cũng như phương pháp được đề cập ở trên sẽ dễ thực hiện và thực hiện

Tôi có một ứng dụng CRUD PHP và khi tôi xóa một hàng, tôi cần xóa nó khỏi MySQL và cả hình ảnh khỏi thư mục tải lên. Tôi đã nghiên cứu và thử hàng tá cách với tùy chọn hủy liên kết nhưng không có tác dụng gì. Nếu tôi hủy liên kết khỏi mã của mình, nó sẽ xóa khỏi DB. Tôi chưa quen với mã hóa và PHP nên mọi trợ giúp sẽ rất tuyệt vời

file_path đúng. Tải lên là tên của thư mục lưu trữ hình ảnh và $_POST["image"] là tên cột trong MySQL nơi lưu trữ tên hình ảnh

xóa bỏ. php

đây là mã nút xóa

					echo "";
					echo " Delete";
					echo "";

Đây cũng là javascript cho nút xóa

	// delete record
	$[document].on['click', '.delete-object', function[]{

		var id = $[this].attr['delete-id'];

		bootbox.confirm[{
		    message: "

Are you sure?

"
, buttons: { confirm: { label: ' Yes', className: 'btn-danger' }, cancel: { label: ' No', className: 'btn-primary' } }, callback: function [result] { if[result==true]{ $.post['delete.php', { object_id: id }, function[data]{ location.reload[]; }].fail[function[] { alert['Unable to delete.']; }]; } } }]; return false; }];

 

Nếu bạn cần bất kỳ thông tin nào khác có thể giúp bạn giúp tôi, hãy cho tôi biết và tôi sẽ lấy thông tin đó ở đây càng sớm càng tốt. Cảm ơn một lần nữa cho bất kỳ sự giúp đỡ về điều này

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

gw1500se

Đăng ngày 27 tháng 1 năm 2019

gw1500se

  • Các thành viên
    • 1k
    • 3
  • Địa điểm. Georgia, Hoa Kỳ

    • Đăng lại

Đăng ngày 27 tháng 1 năm 2019

Nếu đó là trường hợp "hủy liên kết" đang trả về false. Mã của bạn được thiết kế để không bị xóa khỏi cơ sở dữ liệu nếu "hủy liên kết" không thành công. Đó có phải là những gì bạn thực sự muốn? . Nếu bạn biết tệp LUÔN tồn tại thì bạn cần điều tra lý do tại sao "hủy liên kết" không tìm thấy tệp đó. Đảm bảo rằng bạn đã bật báo cáo lỗi hoặc sử dụng thử/bắt trên "hủy liên kết" để xác định lý do tại sao nó không thành công. Ngoài ra, thật vô nghĩa khi đặt lệnh thực thi bên ngoài khối "if" vì quá trình chuẩn bị không được thực thi khi khối đó bị lỗi

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

akehn

Đăng ngày 27 tháng 1 năm 2019

akehn

  • Thành viên mới
    • 8

  • Tác giả

    • Đăng lại

Đăng ngày 27 tháng 1 năm 2019

Xin chào - Cảm ơn bạn đã trả lời và giúp đỡ. Vì vậy, tôi đã nhận xét "return false" trong mã javascript. Cũng đã di chuyển phần thực thi bên trong câu lệnh if. Vẫn không hoạt động nhưng tôi đã bật nhật ký và hiện nhận được thông báo này trong nhật ký

 [27-Jan-2019 23. 23. 25 UTC] Thông báo PHP. Chỉ số không xác định. hình ảnh trong /home/xxx/public_html/crud/delete. php trên dòng 18
[27-Jan-2019 23. 23. 25 UTC] Cảnh báo PHP. hủy liên kết[tải lên/]. Là một thư mục trong /home/xxx/public_html/crud/delete. php trên dòng 19

Đây là xóa mới của tôi. tập tin php

Tôi không chắc những lỗi đó có ý nghĩa gì trong nhật ký. Tôi chỉ là một lập trình viên mới bắt đầu. Cảm ơn một lần nữa vì sự giúp đỡ

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

Barand

Đăng ngày 27 tháng 1 năm 2019

Barand

  • người điều hành
    • 23. 4k
    • 347
  • Địa điểm. Cheshire, Vương quốc Anh
  • Tuổi tác. 73
  • quyên góp cho tôi

    • Đăng lại

Đăng ngày 27 tháng 1 năm 2019

16 phút trước, akehn nói

27-Jan-2019 23. 23. 25 UTC] Cảnh báo PHP. hủy liên kết[tải lên/]. Là một thư mục trong /home/xxx/public_html/crud/delete. php trên dòng 19

Điều đó cho bạn biết rằng bạn đang cố xóa một đường dẫn không có tên tệp, chỉ có thư mục

Không có tên tệp vì $_POST['image'] không tồn tại, đó là nội dung thông báo khác cho bạn biết

18 phút trước, akehn nói

[27-Jan-2019 23. 23. 25 UTC] Thông báo PHP. Chỉ số không xác định. hình ảnh trong /home/xxx/public_html/crud/delete. php trên dòng 18

 

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

akehn

Đăng ngày 27 tháng 1 năm 2019

akehn

  • Thành viên mới
    • 8

  • Tác giả

    • Đăng lại

Đăng ngày 27 tháng 1 năm 2019

Xin lỗi mới biết điều này. Tôi sẽ thêm hoặc thay đổi những gì sau đó? . Ngoài ra  $_POST['image']    là tên cột trong MySQL chứa tên của hình ảnh. Xem hình ảnh dưới đây.

 

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

Barand

Đăng ngày 28 tháng 1 năm 2019

Barand

  • người điều hành
    • 23. 4k
    • 347
  • Địa điểm. Cheshire, Vương quốc Anh
  • Tuổi tác. 73
  • quyên góp cho tôi

    • Đăng lại

Đăng ngày 28 tháng 1 năm 2019

"hình ảnh" có thể là tên cột trong cơ sở dữ liệu của bạn, nhưng điều quan trọng ở đây, đó không phải là tên của một trong các đầu vào biểu mẫu mà bạn đang ĐĂNG

Bạn có thể sử dụng điều này để xem những gì đang được đăng

echo '
', print_r[$_POST, 1], '
';

 

  • Trích dẫn

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

akehn

Đăng ngày 28 tháng 1 năm 2019

akehn

  • Thành viên mới
    • 8

  • Tác giả

    • Đăng lại

Đăng ngày 28 tháng 1 năm 2019

Trích dẫn

Tôi đã thử mã in đó trong phần xóa của mình. php nhưng không làm gì cả. Không chắc chắn nếu tôi đặt nó một cách chính xác. Tôi đã chuyển nó sang tệp php có nút xóa và hiển thị trên đó

Đây là read_template của tôi. php chứa nút xóa

Trích dẫn

Chủ Đề