= $maxFileSize) { echo json_encode(['error' => 'Uploaded file too big! Limit of 10MB']); unlink($tempFile); exit; } // Check file type if (! in_array($_FILES['upload']['type'], $validImageTypes)) { echo json_encode(['error' => 'Uploaded file not allowed image type (JPG, PNG, GIF)!']); unlink($tempFile); exit; } // Check if the temporary file contains PHP tags $fileContent = file_get_contents($tempFile); if (strpos($fileContent, ' 'Danger: Uploaded file contains PHP start tags!']); unlink($tempFile); exit; } // No PHP tags detected, move the uploaded file to the specified directory if (UPLOAD_RND_FILE_NAMES) { // Generate a unique filename to prevent overwriting $fn = basename(uniqid('image_') . '.' . pathinfo($_FILES['upload']['name'], PATHINFO_EXTENSION)); $uploadedFile = $uploadDir . $fn; } else { $fn = basename($_FILES['upload']['name']); $uploadedFile = $uploadDir . $fn; if (file_exists($uploadedFile)) { echo json_encode(['error' => 'Failed to uploaded file: Filename already exists!']); exit; } } if (move_uploaded_file($tempFile, $uploadedFile)) { // File moved successfully, send the file URL $fileUrl = SITE_URL . '/image.php?image=' . $fn; echo json_encode(['url' => $fileUrl]); } else { // Failed to move the uploaded file, send an error response echo json_encode(['error' => 'Failed to move the uploaded file.']); } } else { // File upload failed, send an error response echo json_encode(['error' => 'File upload failed.']); }