Un générateur de codes QR en PHP pour le Web. https://qr.antopie.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.8KB

  1. <?php
  2. // ----- Paramètres -----
  3. deleteOldQR(60 * 60 * 24 * 7); // Temps en secondes après lequel le code QR sera supprimé lors du chargement d'un page
  4. $theme = "dark"; // dark, light ou parinux
  5. $fileNameLenght = 32; // Longueur du nom du fichier du code QR
  6. // ----- Trucs nécessaires partout -----
  7. // Définit l'URL racine
  8. if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off')
  9. $protocol = "https";
  10. else
  11. $protocol = "http";
  12. $instPath = $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
  13. $instPath = preg_replace('#\?.*$#', '', $instPath);
  14. $instPath = preg_replace('#(manifest|opensearch|index).php$#i', '', $instPath);
  15. require "themes/" . $theme . "/theme.php"; // Charge le thème graphique
  16. function generateRandomString($length) {
  17. $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  18. $charactersLength = strlen($characters);
  19. $randomString = '';
  20. for ($i = 0; $i < $length; $i++) {
  21. $randomString .= $characters[rand(0, $charactersLength - 1)];
  22. }
  23. return $randomString;
  24. }
  25. function deleteOldQR($tempsDeSuppression) {
  26. /*
  27. Cette fonction supprime les fichiers (normalement des images de codes QR)
  28. dans temp/ plus vieux que le temps en seconde passé en argument
  29. */
  30. $listeCodesQR = new DirectoryIterator("temp");
  31. foreach($listeCodesQR as $listeCodesQR) {
  32. if ($listeCodesQR->getFilename() != "." AND $listeCodesQR->getFilename() != ".." AND $listeCodesQR->getFilename() != ".gitkeep") {
  33. if ((time() - filemtime("temp/" . $listeCodesQR->getFilename())) > $tempsDeSuppression) { // Si le temps actuel (en heure Posix) moins la date de dernière modification de l'image est supérieur à la durée de vie demandée de l'image
  34. unlink("temp/" . $listeCodesQR->getFilename()); // Alors supprimer cette image
  35. }
  36. }
  37. }
  38. }