Cuando realizamos una web, es conveniente no tener las imágenes en servidores de terceros, sino en nuestros propios servidores, o en un CDN. ¿Cómo descargamos las imágenes de otro servidor?

Podemos hacerlo de varias formas:

$url = "http://www.dominio.inicial/imagen.png";
$dir = "/var/www/directorio/fisico/en/nuestro/server/local/";

$archivoInicial = fopen($url, "r");
$archivoFinal   = fopen($dir . basename($url), "w");

while(!feof($url)) 
    fwrite($archivoFinal, fread($archivoInicial, 1), 1);

fclose($archivoFinal);
fclose($archivoInicial);

O:

$imagen = file_get_contents("http://www.dominio.es/imagen.png");
$save = file_put_contents('/var/www/directorio/servidor/destino/imagen.png',$imagen);

Y la más eficiente de todas, si tenemos que descargar muchas imágenes, es hacerlo con cURL:

$url = "http://www.dominio.com/imagen.png";
$dir = "/var/www/directorio/local/";
$archivoFinal = fopen($dir . basename($url), "w");

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.google.com/bot.html)');
curl_setopt($ch, CURLOPT_FILE, $archivoFinal);

fclose($archivoFinal);
curl_close($ch);

 

Más

Cuando, después de una actualización vía código de los productos y/o sus categorías y atributos, necesitamos reindexar de nuevo las tablas implicadas en el proceso, podemos hacer:

$coleccion = Mage::getModel('index/process')->getCollection();
foreach ($coleccion as $indice) {
    $indice->reindexAll();
}

para reindexar todas las tablas, o bien, si sólo necesitamos reindexar un conjunto determinado de tablas, podemos hacer:

$proceso = Mage::getModel('index/indexer')->getProcessByCode('xxx');
$proceso->reindexAll();

/* donde xxx puede ser
catalog_product_attribute     Productos: Atributos
catalog_product_price         Productos: Precios
catalog_url                   Catalogo: reescritura de URLs 
catalog_product_flat          Productos: Flat Data
catalog_category_flat         Categorías: Flat Data
catalog_category_product      Categorías: Productos de una categoría
catalogsearch_fulltext        Catalogo: Indexación de búsquedas
cataloginventory_stock        Estado de Stock
tag_summary                   Productos: Etiquetas
targetrule                    Reglas 
*/

 

Más
Esta web utiliza cookies propias para su correcto funcionamiento. Puede consultar nuestra política de cookies, política de privacidad y aviso legal. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información    Configurar y más información
Privacidad