Are there any security risks or vulnerabilities to be aware of when saving files on a file server with PHP?

When saving files on a file server with PHP, it is important to be aware of security risks such as directory traversal attacks or file upload vulnerabilities. To mitigate these risks, always validate and sanitize user input before saving files, restrict file types and sizes, and store files outside of the web root directory to prevent direct access.

// Example code to save a file securely on a file server with PHP

$uploadDir = '/path/to/upload/directory/';
$allowedTypes = ['image/jpeg', 'image/png'];
$maxFileSize = 1048576; // 1MB

if(isset($_FILES['file']) && $_FILES['file']['error'] === UPLOAD_ERR_OK) {
    $fileType = $_FILES['file']['type'];
    $fileSize = $_FILES['file']['size'];

    if(in_array($fileType, $allowedTypes) && $fileSize <= $maxFileSize) {
        $fileName = $_FILES['file']['name'];
        $filePath = $uploadDir . $fileName;

        if(move_uploaded_file($_FILES['file']['tmp_name'], $filePath)) {
            echo 'File uploaded successfully.';
        } else {
            echo 'Failed to upload file.';
        }
    } else {
        echo 'Invalid file type or size.';
    }
} else {
    echo 'Error uploading file.';
}