Here is a PHP script that allows users to upload image and PDF files with a maximum size of 5 MB. The uploaded files will be renamed using the current timestamp:
<?php if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_FILES["file"])) { $allowedExtensions = array("jpg", "jpeg", "png", "pdf"); $maxFileSize = 5 * 1024 * 1024; // 5 MB in bytes $targetDirectory = "uploads/"; $timestamp = time(); $targetFileName = $timestamp . "_" . basename($_FILES["file"]["name"]); $targetPath = $targetDirectory . $targetFileName; $fileExtension = strtolower(pathinfo($targetFileName, PATHINFO_EXTENSION)); if (in_array($fileExtension, $allowedExtensions) && $_FILES["file"]["size"] <= $maxFileSize) { if (move_uploaded_file($_FILES["file"]["tmp_name"], $targetPath)) { echo "File uploaded successfully."; } else { echo "Error uploading file."; } } else { echo "Invalid file. Allowed file types: jpg, jpeg, png, pdf. Max file size: 5 MB."; } } ?>
<!DOCTYPE html> <html> <head> <title>File Upload</title> </head> <body> <form method="POST" enctype="multipart/form-data"> <input type="file" name="file" accept=".jpg, .jpeg, .png, .pdf" required> <button type="submit">Upload</button> </form> </body> </html>
- It checks if the form has been submitted and if a file has been uploaded.
- It sets the allowed file extensions ($allowedExtensions) and maximum file size ($maxFileSize).
- It defines the target directory ($targetDirectory), generates a new file name using the current timestamp, and constructs the target path.
- It checks if the uploaded file has an allowed extension and if its size is within limits.
- If the file meets the criteria, it moves the file to the target directory using move_uploaded_file() and echoes a success message.
- If the file does not meet the criteria, it echoes an error message.
- The HTML form allows users to select a file with the accept attribute specifying the allowed file types. After submitting the form, the PHP script processes the file upload.
Comments
Post a Comment