Salut tout le monde,
Je débarque avec mes questions idiotes, mais voilà, j'arrive pas à trouver ce qui est le mieux.
Imaginons un gros lot de cases (de l'ordre de 2500 * pas mal), ayant des coordonnées (map;x;y).
J'affiche un carré de 11x11 cases, soit 121 cases, grâce à du PHP.
La plupart de ces cases (+/- 80%) possède un skin perso lié à une image (adresse de type : x-y.png). Les 20% restantes sont vierges et doivent afficher une base commune à elles toutes (adresse de type : base.png).
Je vois pour l'instant deux possibilités qui, bien que non-testées, pourraient fonctionner. Mais je me demande laquelle des deux seraient la moins lourde pour mon pauvre serveur (qui est une grosse bouse) :
Possibilité 1). Utilisation de file_exists() pour chaque case, dans un code de type :
Possibilité 2 : Utiliser le file_exists dans l'interface admin qui sert à l'insertion de la carte et ajouter un champ dans la table des cases; table qui devrait alors être géré lors de l'affichage coté PJ; ce qui ferait un truc du genre :
En gros en optimisation, c'est quoi le mieux ? Un appel à la base de données + mise en tableau (ça me semble le plus simple) ou utilisation de file_exists() pour chaque case ?
Sachant que c'est un affichage qui va être très souvent renouvelé (à chaque déplacement la question va se poser, à chaque rechargement de la carte aussi)
Je débarque avec mes questions idiotes, mais voilà, j'arrive pas à trouver ce qui est le mieux.
Imaginons un gros lot de cases (de l'ordre de 2500 * pas mal), ayant des coordonnées (map;x;y).
J'affiche un carré de 11x11 cases, soit 121 cases, grâce à du PHP.
La plupart de ces cases (+/- 80%) possède un skin perso lié à une image (adresse de type : x-y.png). Les 20% restantes sont vierges et doivent afficher une base commune à elles toutes (adresse de type : base.png).
Je vois pour l'instant deux possibilités qui, bien que non-testées, pourraient fonctionner. Mais je me demande laquelle des deux seraient la moins lourde pour mon pauvre serveur (qui est une grosse bouse) :
Possibilité 1). Utilisation de file_exists() pour chaque case, dans un code de type :
<?php
for($x=0;$x++;$x<=11)
{
for($y=0;$y++;$y<=11)
{
$adresse="map/".$x."-".$y.".png";
if (file_exists($adresse))
{
echo "<img src='".$adresse."' />";
}
else
{
echo "<img src='base.png' />";
}
}
}
Possibilité 2 : Utiliser le file_exists dans l'interface admin qui sert à l'insertion de la carte et ajouter un champ dans la table des cases; table qui devrait alors être géré lors de l'affichage coté PJ; ce qui ferait un truc du genre :
<?php
for($x=0;$x++;$x<=11)
{
for($y=0;$y++;$y<=11)
{
if ($info_case[base][$x][$y]==0) //si pour cette case-là, la table indique qu'il y a un skin perso
{
$adresse="map/".$x."-".$y.".png";
echo "<img src='".$adresse."' />";
}
else
{
echo "<img src='base.png' />";
}
}
}
En gros en optimisation, c'est quoi le mieux ? Un appel à la base de données + mise en tableau (ça me semble le plus simple) ou utilisation de file_exists() pour chaque case ?
Sachant que c'est un affichage qui va être très souvent renouvelé (à chaque déplacement la question va se poser, à chaque rechargement de la carte aussi)