summaryrefslogtreecommitdiff
path: root/controller/backup.php
diff options
context:
space:
mode:
Diffstat (limited to 'controller/backup.php')
-rw-r--r--controller/backup.php158
1 files changed, 79 insertions, 79 deletions
diff --git a/controller/backup.php b/controller/backup.php
index bc84a86..d0060c9 100644
--- a/controller/backup.php
+++ b/controller/backup.php
@@ -1,80 +1,80 @@
1<?php 1<?php
2// controller/backup.php 2// controller/backup.php
3 3
4function extraction($from) 4function extraction($from)
5{ 5{
6 $chemin = "data/"; 6 $chemin = "data/";
7 $nomFichier = "sauvegarde_site_melaine.zip"; 7 $nomFichier = "sauvegarde_site_melaine.zip";
8 8
9 // création ou remplacement d'une archive zip 9 // création ou remplacement d'une archive zip
10 // une erreur est jetée si l'extension zip n'est pas activée 10 // une erreur est jetée si l'extension zip n'est pas activée
11 try 11 try
12 { 12 {
13 $zip = new ZipArchive(); 13 $zip = new ZipArchive();
14 } 14 }
15 catch (Throwable $e) 15 catch (Throwable $e)
16 { 16 {
17 echo('Erreur: la classe ZipArchive est introuvable, la sauvegarde est impossible. L\'extension ZIP de PHP est-elle activée dans le fichier php.ini?<br/> 17 echo('Erreur: la classe ZipArchive est introuvable, la sauvegarde est impossible. L\'extension ZIP de PHP est-elle activée dans le fichier php.ini?<br/>
18 Veuillez prévenir l\'administrateur.<br/> 18 Veuillez prévenir l\'administrateur.<br/>
19 Vous pouvez aussi récupérer manuellement les fichiers en vous connectant au serveur avec un client FTP, il suffit de récupérer tout le dossier "data".<br/><br/> 19 Vous pouvez aussi récupérer manuellement les fichiers en vous connectant au serveur avec un client FTP, il suffit de récupérer tout le dossier "data".<br/><br/>
20 <a href="index.php" >Retour au site</a>'); 20 <a href="index.php" >Retour au site</a>');
21 die(); 21 die();
22 } 22 }
23 23
24 // création du fichier zip vide 24 // création du fichier zip vide
25 // j'ai utilisé l'option ZipArchive::OVERWRITE, 25 // j'ai utilisé l'option ZipArchive::OVERWRITE,
26 // ZipArchive::FL_OVERWRITE n'apparaît qu'avec PHP 8 26 // ZipArchive::FL_OVERWRITE n'apparaît qu'avec PHP 8
27 if ($zip->open($chemin . $nomFichier, ZipArchive::CREATE | ZipArchive::OVERWRITE)!==TRUE) { 27 if ($zip->open($chemin . $nomFichier, ZipArchive::CREATE | ZipArchive::OVERWRITE)!==TRUE) {
28 exit("Impossible d'ouvrir le fichier <i>" . $chemin . $nomFichier . "</i>.\n"); 28 exit("Impossible d'ouvrir le fichier <i>" . $chemin . $nomFichier . "</i>.\n");
29 } 29 }
30 30
31 // ajout des fichiers 31 // ajout des fichiers
32 // chemin complet = data/"pages"/"html ou images"/"tous les fichiers" 32 // chemin complet = data/"pages"/"html ou images"/"tous les fichiers"
33 $zip->addGlob($chemin . '*/*/*', 0, array('')); 33 $zip->addGlob($chemin . '*/*/*', 0, array(''));
34 $zip->close(); 34 $zip->close();
35 35
36 // pour pouvoir manipuler le fichier depuis filezilla ou ssh 36 // pour pouvoir manipuler le fichier depuis filezilla ou ssh
37 chmod($chemin . $nomFichier, 0666); // écriture 4 chiffres 37 chmod($chemin . $nomFichier, 0666); // écriture 4 chiffres
38 38
39?> 39?>
40<head> 40<head>
41 <meta charset="utf-8" /> 41 <meta charset="utf-8" />
42 <title>extraction des données</title> 42 <title>extraction des données</title>
43 <link rel="stylesheet" type="text/css" href="public/accueil.css" /> 43 <link rel="stylesheet" type="text/css" href="public/accueil.css" />
44</head> 44</head>
45<body> 45<body>
46 <div id="bloc_page" style="padding: 5px;"> 46 <div id="bloc_page" style="padding: 5px;">
47 Toutes les données du sites ont été rassemblées dans un gros fichier que vous pouvez garder par exemple sur votre ordinateur.<br/> 47 Toutes les données du sites ont été rassemblées dans un gros fichier que vous pouvez garder par exemple sur votre ordinateur.<br/>
48 Vous pourrez l'utiliser plus tard pour restaurer le site dans l'état où il se trouve aujourd'hui. Ceci est utile dans le cas d'un changement d'hébergement ou dans le cas d'un problème affectant le serveur.<br/> 48 Vous pourrez l'utiliser plus tard pour restaurer le site dans l'état où il se trouve aujourd'hui. Ceci est utile dans le cas d'un changement d'hébergement ou dans le cas d'un problème affectant le serveur.<br/>
49 Ce fichier se nomme <i>sauvegarde_site_melaine.zip</i>.<br/><br/> 49 Ce fichier se nomme <i>sauvegarde_site_melaine.zip</i>.<br/><br/>
50 <a href="data/sauvegarde_site_melaine.zip" style="border: 2px black ridge;" >Cliquez ici pour télécharger</a><br/><br/> 50 <a href="data/sauvegarde_site_melaine.zip" style="border: 2px black ridge;" >Cliquez ici pour télécharger</a><br/><br/>
51 <a href="index.php?page=<?= $from ?>" >Retour au site</a> 51 <a href="index.php?page=<?= $from ?>" >Retour au site</a>
52 </div> 52 </div>
53</body> 53</body>
54<?php 54<?php
55} 55}
56 56
57function insertion($from) 57function insertion($from)
58{ 58{
59?> 59?>
60<head> 60<head>
61 <meta charset="utf-8" /> 61 <meta charset="utf-8" />
62 <title>Restauration des données avec un backup</title> 62 <title>Restauration des données avec un backup</title>
63 <link rel="stylesheet" type="text/css" href="public/accueil.css" /> 63 <link rel="stylesheet" type="text/css" href="public/accueil.css" />
64</head> 64</head>
65<body> 65<body>
66 <div id="bloc_page" style="padding: 5px;"> 66 <div id="bloc_page" style="padding: 5px;">
67 Restauration des données à partir d'une sauvegarde.<br/><br/> 67 Restauration des données à partir d'une sauvegarde.<br/><br/>
68 Vous devez avoir créé un fichier nommé <i>sauvegarde_site_melaine.zip</i><br/> 68 Vous devez avoir créé un fichier nommé <i>sauvegarde_site_melaine.zip</i><br/>
69 en cliquant sur <i>Extraire les données</i>.<br/><br/> 69 en cliquant sur <i>Extraire les données</i>.<br/><br/>
70 70
71 <form action="index.php?from=<?= $from ?>&action=insertion" method="post" > 71 <form action="index.php?from=<?= $from ?>&action=insertion" method="post" >
72 <input type="file" accept=".zip" ><br/> 72 <input type="file" accept=".zip" ><br/>
73 <!-- ajouter une demande de confirmation en JS au submit --> 73 <!-- ajouter une demande de confirmation en JS au submit -->
74 <input type="submit" ><br/><br/> 74 <input type="submit" ><br/><br/>
75 <a href="index.php?page=<?= $from ?>" >Retour au site</a> 75 <a href="index.php?page=<?= $from ?>" >Retour au site</a>
76 </form> 76 </form>
77 </div> 77 </div>
78</body> 78</body>
79<?php 79<?php
80} \ No newline at end of file 80} \ No newline at end of file