What is the difference between file upload and download functionalities in PHP?

File upload functionality in PHP allows users to upload files from their local machine to the server, while file download functionality enables users to download files from the server to their local machine. To implement file upload functionality, you can use the $_FILES superglobal array to access the uploaded file and move it to a specified directory on the server. For file download functionality, you can use the readfile() function to output the contents of the file to the browser for download.

// File Upload Functionality
if(isset($_FILES['file'])){
    $file_name = $_FILES['file']['name'];
    $file_tmp = $_FILES['file']['tmp_name'];
    move_uploaded_file($file_tmp, "uploads/" . $file_name);
    echo "File uploaded successfully!";
}

// File Download Functionality
$file_path = "path/to/file.txt";
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($file_path) . '"');
readfile($file_path);