Skip to content
Extraits de code Groupes Projets
Valider 9341fe91 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

Perf issue sur les filtres images appliques sur des images distantes en 404 :

[(#VAL{http://example.org/fichier_inexistant.png}|image_reduire{64,64})] provoquait 3 operations file_exists sur http://example.org/fichier_inexistant.png.src
que PHP interprete en faisant 3 hits http sur le fichier sauf si PHP bloque ce type d'operation.
parent 41a35ef1
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -605,8 +605,8 @@ function _image_gd_output($img, $valeurs, $qualite = _IMG_GD_QUALITE) { ...@@ -605,8 +605,8 @@ function _image_gd_output($img, $valeurs, $qualite = _IMG_GD_QUALITE) {
function reconstruire_image_intermediaire($fichier_manquant) { function reconstruire_image_intermediaire($fichier_manquant) {
$reconstruire = array(); $reconstruire = array();
$fichier = $fichier_manquant; $fichier = $fichier_manquant;
while ( while (strpos($fichier,"://")===false
!@file_exists($fichier) and !@file_exists($fichier)
and lire_fichier($src = "$fichier.src", $source) and lire_fichier($src = "$fichier.src", $source)
and $valeurs = unserialize($source) and $valeurs = unserialize($source)
and ($fichier = $valeurs['fichier']) # l'origine est connue (on ne verifie pas son existence, qu'importe ...) and ($fichier = $valeurs['fichier']) # l'origine est connue (on ne verifie pas son existence, qu'importe ...)
...@@ -642,7 +642,8 @@ function reconstruire_image_intermediaire($fichier_manquant) { ...@@ -642,7 +642,8 @@ function reconstruire_image_intermediaire($fichier_manquant) {
* Chemin du fichier d'image calculé * Chemin du fichier d'image calculé
**/ **/
function ramasse_miettes($fichier) { function ramasse_miettes($fichier) {
if (!lire_fichier($src = "$fichier.src", $source) if (strpos($fichier,"://")!==false
or !lire_fichier($src = "$fichier.src", $source)
or !$valeurs = unserialize($source) or !$valeurs = unserialize($source)
) { ) {
return; return;
...@@ -696,7 +697,8 @@ function image_graver($img) { ...@@ -696,7 +697,8 @@ function image_graver($img) {
$fichier = $img; $fichier = $img;
} }
# si jamais le fichier final n'a pas ete calcule car suppose temporaire # si jamais le fichier final n'a pas ete calcule car suppose temporaire
if (!@file_exists($fichier)) { # et qu'il ne s'agit pas d'une URL
if (strpos($fichier,"://")===false and !@file_exists($fichier)) {
reconstruire_image_intermediaire($fichier); reconstruire_image_intermediaire($fichier);
} }
ramasse_miettes($fichier); ramasse_miettes($fichier);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter