forked from ZwiiCMS-Team/ZwiiCampus
double fonction
This commit is contained in:
parent
2027c5918f
commit
509c95a680
@ -636,50 +636,7 @@ class common
|
|||||||
// Effectue jusqu'à 5 tentatives d'écriture
|
// Effectue jusqu'à 5 tentatives d'écriture
|
||||||
while ($attempts < 5) {
|
while ($attempts < 5) {
|
||||||
// Essaye d'écrire les données dans le fichier avec verrouillage exclusif
|
// Essaye d'écrire les données dans le fichier avec verrouillage exclusif
|
||||||
$write_result = $this->secure_file_put_contents($filename, $data, LOCK_EX | $flags);
|
$write_result = file_put_contents($filename, $data, LOCK_EX | $flags);
|
||||||
|
|
||||||
// Vérifie si l'écriture a réussi
|
|
||||||
if ($write_result !== false && $write_result === $data_length) {
|
|
||||||
// Sort de la boucle si l'écriture a réussi
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Incrémente le compteur de tentatives
|
|
||||||
$attempts++;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Échec de l'écriture après plusieurs tentatives
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Écrit les données dans un fichier avec plusieurs tentatives d'écriture et verrouillage
|
|
||||||
*
|
|
||||||
* @param string $filename Le nom du fichier
|
|
||||||
* @param string $data Les données à écrire dans le fichier
|
|
||||||
* @param int $flags Les drapeaux optionnels à passer à la fonction $this->secure_file_put_contents
|
|
||||||
* @return bool True si l'écriture a réussi, sinon false
|
|
||||||
*/
|
|
||||||
function secure_file_put_contents($filename, $data, $flags = 0)
|
|
||||||
{
|
|
||||||
// Vérifie si le fichier existe
|
|
||||||
if (!file_exists($filename)) {
|
|
||||||
// Crée le fichier s'il n'existe pas
|
|
||||||
$handle = fopen($filename, 'w');
|
|
||||||
fclose($handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Initialise le compteur de tentatives
|
|
||||||
$attempts = 0;
|
|
||||||
|
|
||||||
// Vérifie la longueur des données
|
|
||||||
$data_length = strlen($data);
|
|
||||||
|
|
||||||
// Effectue jusqu'à 5 tentatives d'écriture
|
|
||||||
while ($attempts < 5) {
|
|
||||||
// Essaye d'écrire les données dans le fichier avec verrouillage exclusif
|
|
||||||
$write_result = $this->secure_file_put_contents($filename, $data, LOCK_EX | $flags);
|
|
||||||
|
|
||||||
// Vérifie si l'écriture a réussi
|
// Vérifie si l'écriture a réussi
|
||||||
if ($write_result !== false && $write_result === $data_length) {
|
if ($write_result !== false && $write_result === $data_length) {
|
||||||
|
Loading…
Reference in New Issue
Block a user