Are there best practices for handling file permissions and access rights when using LOAD DATA INFILE in PHP?

When using LOAD DATA INFILE in PHP to import data into a database, it is important to handle file permissions and access rights properly to ensure security and prevent unauthorized access to sensitive files. One best practice is to store the files in a secure directory with restricted permissions, and only allow the PHP script to access files within that directory.

// Set the file path to the secure directory
$file_path = '/path/to/secure/directory/data.csv';

// Check if the file exists and is readable
if (file_exists($file_path) && is_readable($file_path)) {
    // Proceed with loading data from the file
    $query = "LOAD DATA INFILE '$file_path' INTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'";
    // Execute the query
    mysqli_query($connection, $query);
} else {
    // Handle file not found or not readable error
    echo "Error: File not found or not readable.";
}