How can PHP functions like getimagesize() and mkdir() be used effectively in file upload scripts?

When creating file upload scripts in PHP, functions like getimagesize() can be used to check if the uploaded file is an image, while mkdir() can be used to create a directory to store the uploaded files. By using these functions effectively, you can ensure that only images are uploaded and that they are stored in the correct location.

// Check if the uploaded file is an image using getimagesize()
$image_info = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($image_info !== false) {
    // Create a directory to store the uploaded files using mkdir()
    $upload_dir = "uploads/";
    if (!file_exists($upload_dir)) {
        mkdir($upload_dir, 0777, true);
    }
    // Move the uploaded file to the created directory
    move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $upload_dir . $_FILES["fileToUpload"]["name"]);
    echo "File uploaded successfully.";
} else {
    echo "Only images are allowed to be uploaded.";
}