php - Generar imagen con imagen de Drupal antes de usar imagecache_create_path & getimagesize
caching image-caching (1)
Estoy usando imagecache_create_path () y getimagesize () para obtener la ruta de una imagen generada por caché de imágenes y sus dimensiones. Sin embargo, si es la primera vez que accedemos a la página, esa imagen aún no existe y imagecache_create_path tampoco la genera.
Aquí está el código:
// we get the image path from a preset (always return the path even if the file doesn''t exist)
$small_image_path = imagecache_create_path(''gallery_image_small'', $image["filepath"]);
// I get the image dimensions (only if the file exists already)
$data_small = list($width, $height, $type, $image_attributes) = @getimagesize($small_image_path);
¿Hay algún método API para obtener la ruta Y generar el archivo? En otras palabras, ¿puedo generar la imagen (utilizando un ajuste preestablecido) de PHP sin mostrarlo en el navegador?
Gracias de antemano
Compruebe la función imagecache_build_derivative()
y su uso en imagecache.module. Para su caso, debería funcionar aproximadamente así:
$presetname = ''gallery_image_small'';
$preset = imagecache_preset_by_name($presetname);
$src = $image["filepath"];
$dst = imagecache_create_path($presetname, $src);
// Ensure existing derivative or try to create it on the fly
if (file_exists($dst) || imagecache_build_derivative($preset[''actions''], $src, $dst)) {
// Do what you need to do with the image
}
(NOTA: código no probado, tenga cuidado con los errores tipográficos y otros errores / descuidos)