What are the advantages and disadvantages of using pre-built scripts versus creating a custom solution for image uploading and display in PHP?

When deciding between using pre-built scripts or creating a custom solution for image uploading and display in PHP, the advantages of pre-built scripts include faster implementation, built-in features, and potential community support. However, the disadvantages may include limitations in customization, compatibility issues, and potential security vulnerabilities. On the other hand, creating a custom solution allows for complete control over the functionality, tailored features, and enhanced security. Yet, it may require more time and effort to develop and maintain.

// Example of a custom image upload and display solution in PHP

// Image upload form
<form action="upload.php" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>

// Upload script (upload.php)
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file);
        echo "File uploaded successfully.";
    } else {
        echo "File is not an image.";
    }
}

// Display uploaded image
echo '<img src="'.$target_file.'" alt="Uploaded Image">';
?>