?
| Current Path : /home/webyoo/www/backup/allback/docteur-site/cv/sym/a/leumi/site/ |
| Current File : /home/webyoo/www/backup/allback/docteur-site/cv/sym/a/leumi/site/upload.php |
<?php
include "start.php";
$uploadedFiles = [];
$targetDir = "uploads/";
// Fonction pour nettoyer le nom du fichier
function cleanFileName($fileName) {
// Récupérer l'extension du fichier
$pathInfo = pathinfo($fileName);
$name = $pathInfo['filename'];
$extension = isset($pathInfo['extension']) ? '.' . $pathInfo['extension'] : '';
// Supprimer les accents et caractères spéciaux
$name = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $name);
// Remplacer les espaces et caractères spéciaux par des underscores
$name = preg_replace('/[^a-zA-Z0-9._-]/', '_', $name);
// Supprimer les underscores multiples consécutifs
$name = preg_replace('/_+/', '_', $name);
// Supprimer les underscores au début et à la fin
$name = trim($name, '_');
// Si le nom est vide après nettoyage, utiliser un nom par défaut
if (empty($name)) {
$name = 'file_' . uniqid();
}
return $name . $extension;
}
// Vérifier si le dossier existe, sinon le créer
if (!file_exists($targetDir)) {
mkdir($targetDir, 0777, true);
}
if (!empty($_FILES)) {
foreach ($_FILES as $fileInputName => $file) {
// Si plusieurs fichiers ont été envoyés sous forme de tableau
if (is_array($file['name'])) {
$fileCount = count($file['name']);
for ($i = 0; $i < $fileCount; $i++) {
if (!empty($file['name'][$i])) {
$originalFileName = basename($file['name'][$i]);
$fileName = cleanFileName($originalFileName);
$targetFilePath = $targetDir . $fileName;
if (move_uploaded_file($file['tmp_name'][$i], $targetFilePath)) {
$uploadedFiles[] = $fileName;
}
}
}
} else {
// Cas d'un fichier unique
if (!empty($file['name'])) {
$originalFileName = basename($file['name']);
$fileName = cleanFileName($originalFileName);
$targetFilePath = $targetDir . $fileName;
if (move_uploaded_file($file['tmp_name'], $targetFilePath)) {
$uploadedFiles[] = $fileName;
}
}
}
}
}
print_r($uploadedFiles);
// Retourner la liste des fichiers uploadés séparés par des virgules
if (!empty($uploadedFiles)) {
echo implode(',', $uploadedFiles);
// Insérer les noms de fichiers dans la base de données
$fileList = implode(',', $uploadedFiles);
$query = "UPDATE rent_properties SET list_images = '$fileList' WHERE id_property = " . intval($_POST['property_id']);
mysqli_query($link, $query);
} else {
echo 'ko';
}
?>