işine yararmı bilmem ama bir kaç sitede bu şekilde kullanıyorum bast kendim yazmıştım
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: POST, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type");
header("Content-Type: application/json");
$uploadDir = __DIR__ . "ifupload/";
if (!file_exists($uploadDir)) {
mkdir($uploadDir, 0777, true);
}
$maxFileSize = 100 * 1024 * 1024;
$allowedExts = [
"jpg", "jpeg", "png", "gif", "webp", "bmp", "svg",
"mp4", "mov", "avi", "mkv", "wmv", "flv", "webm",
"mp3", "wav", "ogg", "flac",
"pdf", "doc", "docx", "xls", "xlsx", "ppt", "pptx",
"zip", "rar", "7z", "tar", "gz"
];
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? "https" : "http";
$serverAddress = rtrim($protocol . "://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['SCRIPT_NAME']), "/") . "/ifupload/";
$response = [
"success" => false,
"message" => "",
"files" => [],
"errors" => []
];
if ($_SERVER["REQUEST_METHOD"] === "POST" && !empty($_FILES["images"])) {
foreach ($_FILES["images"]["tmp_name"] as $index => $tmpName) {
if ($_FILES["images"]["error"][$index] === UPLOAD_ERR_OK) {
$fileSize = $_FILES["images"]["size"][$index];
if ($fileSize > $maxFileSize) {
$response["errors"][] = "Dosya çok büyük: " . $_FILES["images"]["name"][$index];
continue;
}
$fileExt = strtolower(pathinfo($_FILES["images"]["name"][$index], PATHINFO_EXTENSION));
if (!in_array($fileExt, $allowedExts)) {
$response["errors"][] = "Geçersiz dosya türü: " . $_FILES["images"]["name"][$index];
continue;
}
$newFileName = time() . "-" . bin2hex(random_bytes(5)) . "." . $fileExt;
$filePath = $uploadDir . $newFileName;
if (move_uploaded_file($tmpName, $filePath)) {
$fileUrl = $serverAddress . $newFileName;
$response["files"][] = $fileUrl;
} else {
$response["errors"][] = "Dosya yüklenemedi: " . $_FILES["images"]["name"][$index];
}
} else {
$response["errors"][] = "Dosya hatası: " . $_FILES["images"]["name"][$index];
}
}
$response["success"] = !empty($response["files"]);
$response["message"] = $response["success"] ? "Yükleme başarılı." : "Hiçbir dosya yüklenemedi.";
echo json_encode($response, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
exit;
} else {
echo json_encode([
"success" => false,
"message" => "Geçersiz istek veya dosya yüklenmedi.",
"info" => Dosya Upload Sistemi by Convex v1.0"
], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
exit;
}
?>js ve css lazım olursa onlarıda gönderebilirim