From f331b3ab14f2b404c2089607aba2e2d434cd510d Mon Sep 17 00:00:00 2001 From: polo Date: Thu, 10 Mar 2022 03:12:58 +0100 Subject: fichiers index.php --- controller/backup.php | 70 ++++++++++++++++++++++++++++----------------------- 1 file changed, 39 insertions(+), 31 deletions(-) (limited to 'controller/backup.php') diff --git a/controller/backup.php b/controller/backup.php index 1477c55..2cfccaa 100644 --- a/controller/backup.php +++ b/controller/backup.php @@ -103,55 +103,63 @@ function restaurer($from) { $title = 'Restauration des données'; $message = ''; + global $archiveFormat; // recharger la même page en écrivant les données if(isset($_FILES['archive']) && $_FILES['archive']['error'] == 0) { // détecter le format (zip ou autre) + if($archiveFormat == 'zip') + { + // une copie du zip est conservée dans data/ au cas où + move_uploaded_file($_FILES['archive']['tmp_name'], 'data/' . $_FILES['archive']['name']); + chmod('data/' . $_FILES['archive']['name'], 0666); - // une copie du zip est conservée dans data/ au cas où - move_uploaded_file($_FILES['archive']['tmp_name'], 'data/' . $_FILES['archive']['name']); - chmod('data/' . $_FILES['archive']['name'], 0666); - - $nomFichier = 'data/' . $_FILES['archive']['name']; + $nomFichier = 'data/' . $_FILES['archive']['name']; - // extraction - try - { - $Zip = new ZipArchive(); - } - catch (Throwable $e) // l'extension zip n'est pas activée - { - echo($e); - die(); - } - if($Zip->open($nomFichier, ZipArchive::RDONLY) === TRUE) - { - $j = 0; - for($i = 0; $i < $Zip->numFiles; $i++) + // extraction + try + { + $Zip = new ZipArchive(); + } + catch (Throwable $e) // l'extension zip n'est pas activée { - $nomEntree = $Zip->getNameIndex($i); - if($Zip->extractTo('.', $nomEntree) === TRUE) + echo($e); + die(); + } + if($Zip->open($nomFichier, ZipArchive::RDONLY) === TRUE) + { + $j = 0; + for($i = 0; $i < $Zip->numFiles; $i++) { - $j++; + $nomEntree = $Zip->getNameIndex($i); + if($Zip->extractTo('.', $nomEntree) === TRUE) + { + $j++; + } + else + { + $message = '

Erreur: extraction du zip impossible.

'; + } + chmod($nomEntree, 0666); } - else + + if($j == $Zip->numFiles) { - $message = '

Erreur: extraction du zip impossible.

'; + $message = '

Restauration réussie !!

'; } - chmod($nomEntree, 0666); + $Zip->close(); } - - if($j == $Zip->numFiles) + else { - $message = '

Restauration réussie !!

'; + // mauvais fichier + $message = '

Erreur: Impossible d\'ouvrir l\'archive Zip."

'; } - $Zip->close(); } else { - // mauvais fichier - $message = '

Erreur: Impossible d\'ouvrir l\'archive Zip."

'; + // pas de module zip + $message = '

Erreur: Veuillez activer l\'extension zip dans le php.ini pour pouvoir gérer les sauvegardes.

'; } } elseif(isset($_FILES['archive']) && $_FILES['archive']['error'] != 0) -- cgit v1.2.3