<?php
require_once (dirname(__DIR__, 2) . '/init.php');
function showError($error) {
    header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);
    die($error);
}
function sanitizeFileName($file)
{
    //sanitize, remove double dot .. and remove get parameters if any
    $file = preg_replace('@\?.*$@' , '', preg_replace('@\.{2,}@' , '', preg_replace('@[^\/\\a-zA-Z0-9\-\._]@', '', $file)));
    return $file;
}
$path = $_POST['mediaPath'];
$afterImages = strstr($path, "images");
$afterImages = substr($afterImages, strlen("images"));
$allowed = [
    'gif' => 'image/gif',
    'jpeg' => 'image/jpeg',
    'jpg' => 'image/jpeg',
    'png' => 'image/png',
    'bmp' => 'image/bmp',
    'webp' => 'image/webp',
    'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
    'doc' => 'application/msword',
    'csv' => 'text/csv',
    'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
    'xls' => 'application/vnd.ms-excel',
    'rar' => 'application/x-rar-compressed',
    'zip' => 'application/zip',
    'pdf' => 'application/pdf',
    'txt' => 'text/plain',
    'mp4' => 'video/mp4',
    'avi' => 'video/x-msvideo',
    'mpg' => 'video/mpeg',
    'mpeg' => 'video/mpeg',
    'flv' => 'video/x-flv',
    'mkv' => 'video/x-matroska',
    'm4v' => 'video/x-m4v',
    'vmw' => 'video/x-ms-wmv',
    'mov' => 'video/quicktime',
    'divx' => 'video/divx',
    '3gp' => 'video/3gpp',
    'mp3' => 'audio/mpeg',
    'webm' => 'video/webm',
];

$maksimumBoyut = 10 * 1024 * 1024;
$ext = strtolower(pathinfo($_FILES[$files]['name'], PATHINFO_EXTENSION));
if (!in_array($_FILES['file']['type'], $allowed)) {
    $result = [
        'status' => 'danger',
        'message' => "Geçersiz dosya tipi. Lütfen bir resim dosyası seçin. $ext",
        'title' => 'Dosya Yükleme',
        'status_title' => 'Başarısız'
    ];
} elseif ($_FILES['file']['size'] > $maksimumBoyut) {
    $result = [
        'status' => 'danger',
        'message' => "Dosya boyutu çok büyük. Lütfen 5MB'dan daha küçük bir dosya seçin.",
        'title' => 'Dosya Yükleme',
        'status_title' => 'Başarısız'
    ];
} else {
    $fileName = $_FILES['file']['name'];
    $upload = upload('file',  $afterImages, true);
    $result = [
        'status' => 'success',
        'data' => $upload[0],
        'message' => "Dosya Yüklemeniz Başarı ile Gerçekleşmiştir.",
        'title' => 'Dosya Yükleme',
        'status_title' => 'Başarılı'
    ];
}

echo json_encode($result);





?>
