Desde alrededor de la versión 1.5 o 1.6, Magento tenía un archivo en la carpeta raíz llamado get.php
. Este archivo, utilizando el core/file_storage_data
modelo, permite a los propietarios del sistema Magento servir sus archivos multimedia de productos directamente desde columnas de blob en la base de datos sin tener un archivo de imagen en el sistema de archivos. PHP maneja el envío del archivo
#File: get.php
function sendFile($file)
{
if (file_exists($file) || is_readable($file)) {
$transfer = new Varien_File_Transfer_Adapter_Http();
$transfer->send($file);
exit;
}
}
Esto se está desviando hacia el territorio de la historia de Magento, pero ¿ por qué se desarrolló esta característica? Parece, un poco loco. PHP no es la forma más eficiente de servir un archivo, el almacenamiento de blobs de MySQL tiene un historial de ser inestable, e incluso una implementación de blob de base de datos estable es una tarea difícil de trabajar, y por lo que puedo ver Varien_File_Transfer_Adapter_Http
no agrega cualquier encabezado de caché a estos archivos.
¿Alguien sabe por qué Magento desarrolló esta función? ¿Realmente logra cualquier objetivo / problema que se propuso resolver? ¿Alguien lo está usando?
fuente