Dans le développement quotidien, nous devons souvent sauvegarder certains fichiers importants et vérifier si le contenu du fichier a changé si nécessaire. PHP fournit deux fonctions très pratiques - md5_file () et copy () , ce qui peut nous aider à implémenter facilement la sauvegarde des fichiers et la vérification de l'intégrité.
Cet article présentera comment utiliser ces deux fonctions pour créer un système de sauvegarde et de vérification simple mais pratique.
MD5_FILE () est utilisé pour calculer la valeur de hachage MD5 du fichier spécifié. Sa syntaxe de base est la suivante:
md5_file(string $filename, bool $binary = false): string|false
$ nom de fichier est le chemin du fichier de destination;
$ binaire détermine s'il faut revenir au format binaire, par défaut , c'est-à-dire, c'est-à-dire une chaîne hexadécimale 32 bits.
copy () est utilisé pour copier des fichiers, et la syntaxe est très directe:
copy(string $from, string $to): bool
$ From est le chemin du fichier d'origine;
$ vers est le chemin du fichier de destination;
Renvoie vrai en cas de succès, renvoyez false en cas d'échec.
Supposons que vous ayez un fichier de configuration config.php et que vous souhaitez sauvegarder une copie à chaque fois que vous exécutez le script et la vérification MD5 pour vérifier la cohérence du contenu.
Voici un exemple complet d'implémentation PHP:
<?php
$sourceFile = '/var/www/html/config.php';
$backupDir = '/var/www/html/backup/';
$backupFile = $backupDir . 'config_backup.php';
// Créer un répertoire de sauvegarde(S'il n'existe pas)
if (!is_dir($backupDir)) {
mkdir($backupDir, 0755, true);
}
// Fichiers de sauvegarde
if (copy($sourceFile, $backupFile)) {
echo "Le fichier a été sauvegardé avec succès à: $backupFile\n";
// calculerFichier d'origine和Fichiers de sauvegarde的 MD5 valeur
$sourceHash = md5_file($sourceFile);
$backupHash = md5_file($backupFile);
if ($sourceHash === false || $backupHash === false) {
echo "calculer MD5 Une erreur s'est produite pendant,Veuillez vérifier si le chemin du fichier est correct。\n";
} else {
echo "Fichier d'origine MD5: $sourceHash\n";
echo "Fichiers de sauvegarde MD5: $backupHash\n";
if ($sourceHash === $backupHash) {
echo "Vérification a été adoptée:Fichiers de sauvegarde与Fichier d'origine完全一致。\n";
} else {
echo "avertir:Fichiers de sauvegarde与Fichier d'origine不一致!Vérifiez, s'il vous plaît。\n";
}
}
} else {
echo "La sauvegarde a échoué,Vérifiez, s'il vous plaît权限或路径。\n";
}
Vous pouvez exécuter ce script en tant que tâche planifiée quotidienne (comme l'utilisation de Linux Cron) pour terminer automatiquement la sauvegarde et la vérification des fichiers clés. Par exemple:
0 2 * * * php /var/www/html/backup_script.php
De cette façon, même si un accident se produit sur le serveur, vous pouvez trouver la copie de profil valide la plus récente dans le répertoire de sauvegarde.
De plus, les fichiers de sauvegarde peuvent être envoyés à un serveur distant, tel que FTP ou téléchargé via une interface HTTP à une adresse telle que https://m66.net/api/upload.php , améliorant davantage la sécurité des données.
Utilisez MD5_FILE () de PHP et Copy () pour créer rapidement un système de sauvegarde et de vérification de fichiers légers. Cette méthode a une grande praticité et une flexibilité dans la gestion des fichiers de configuration, des fichiers de données sensibles, etc. Tant qu'il est emballé et automatisé, il peut jouer un rôle important dans la maintenance du projet.