Sử dụng thư mục sau đây làm gốc cho tất cả các hóa đơn là hoàn toàn tốt:
administrator/components/com_mycomponent/invoices
Tuy nhiên, những gì tôi khuyên bạn nên làm là băm tên tệp sau khi hóa đơn được tạo. Thích như vậy:
administrator/components/com_mycomponent/invoices/HASHED_FILE.pdf
Hoặc, hoặc cho mỗi hóa đơn, hãy tạo một thư mục băm và lưu trữ tệp PDF trong đó, như vậy:
administrator/components/com_mycomponent/invoices/HASHED_DIR/file.pdf
Cập nhật:
Nếu phương pháp này được chọn, bạn có thể sử dụng tệp htaccess để ngăn truy cập trực tiếp và chỉ cho phép truy cập theo định hướng PHP vào các tệp PDF này.
Đối với tải xuống do PHP điều khiển, tôi sẽ đề nghị lưu trữ hàm băm trong tab cơ sở dữ liệu, cùng với ID người dùng. Khi yêu cầu được thực hiện để tải xuống tệp, sau đó bạn có thể khớp với ID bạn đã lưu với ID của người dùng đã đăng nhập hiện tại và dĩ nhiên, khớp với hàm băm được lưu trữ trong cơ sở dữ liệu.