Page : 1 |
ililoyd |
Posté le 27/01/2008 15:18
- #
|
Membre
5 messages
|
Bonjour,
Une des améliorations possibles pour le moteur est je pense ne plus utiliser le fichier info.php qui est inutile et qui pour moi utilise une ressource de fichier inutile (et oui avec les fonctions php on peut tout faire ). Edité par ililoyd le 27/01/2008 15:20
|
gaga26 |
Posté le 27/01/2008 17:30
- #
|


741 messages
18 ans |
Salut,
Ok, mais que suggères-tu pour le remplacer ?
|
ililoyd |
Posté le 27/01/2008 20:44
- #
|
Membre
5 messages
|
Tu peux déja utiliser la fonction filemtime().
|
gaga26 |
Posté le 27/01/2008 21:06
- #
|


741 messages
18 ans |
Non, je préfère MD5_file car avec une connexion rapide, des fichiers de même nom peuvent être uploadés en moins d'une seconde, d'où ce choix.
|
ililoyd |
Posté le 27/01/2008 21:34
- #
|
Membre
5 messages
|
Sais tu ce que fais filemtime ? Je parle pour le cache ce qui rend le fichier obselet.
|
gaga26 |
Posté le 28/01/2008 14:18
- #
|


741 messages
18 ans |
Je sais très bien ce que fait filemtime, mais il y a possibilité de croiser des fichiers. Tu vas me dire MD5 aussi, mais il faudrait vraiment être malchanceux, car il y a une chance sur 2 puissance 128 d'avoir le même code...
|
ililoyd |
Posté le 28/01/2008 17:54
- #
|
Membre
5 messages
|
Y a eu un double post désolé -> voir en bas. Edité par ililoyd le 28/01/2008 17:57
|
ililoyd |
Posté le 28/01/2008 17:55
- #
|
Membre
5 messages
|
Tu pourrais intégrer filemtime() pour que le cache parse seulement quand le template est modifié mais ça c'est une autre histoire.
Sinon les autres implémentations de info.php sont pour des liens que tu peux obtenir manuellement ce qui donne une fonction parse_compile_file comme ceci (c'est une ancienne fonction modifiée: la rc1):
private function parse_compile_file ($file, $file_tpl, $surnom, $disp= true)
{
$nom = $surnom ? $surnom : basename($file, '.tpl');
$nom_complet = $this-> this_dir. $this-> template_cache_dir. basename($nom). '-'.@ md5_file($file_tpl). '.compiled.php';
if(! is_file($nom_complet) || $this-> force_compile || @ filemtime($nom_complet) < @ filemtime($file_tpl) )
$nom_complet = $this-> parse_file($file_tpl, $surnom);
if($disp) // Si on inclue le fichier
{
foreach($this-> vars as $key=> $var) // on assigne les variables
{
$ {$key} = $var;
}
include($nom_complet); //on inclue le fichier
}
return $nom_complet;
} Edité par ililoyd le 28/01/2008 17:56
|
gaga26 |
Posté le 28/01/2008 19:36
- #
|


741 messages
18 ans |
Le problème c'est qu'il faut stocker tout les fichiers dans le même dossier, ce n'est pas tant le fichier infos.php qui pose problème.
|
Ze Thriller |
Posté le 11/02/2008 11:56
- #
|

Membre
105 messages
24 ans |
Problèmes:
- Un timestamp de fichier se modifie assez facilement, y compris "en masse" (plusieurs fichiers d'un coup)
- Un fichier peut être pseudo-antidaté si une modification quelconque l'affecte (edit par utilisateur ou non, etc...)
Bref, je plussoie gaga, car MD5_file s'en fout complètement des attributs du fichiers -qui par ailleurs peuvent être faux, cf les PC dont la pile du bios a été naze et l'horloge resetée- , mais créer une somme (presque, allez chercher des doublons !) unique selon le contenu du fichier.
Bref, un seul cas de collision, mais c'est une totologie: fichier vide ^^
Et franchement, infos.php est-il si méchant que ça en taille/ressources ? Ca m'étonnerait. Gagatemplate dans son ensemble est on ne peut moins gourmand.
|
Page : 1 |