{"id":2206,"date":"2012-06-13T15:00:46","date_gmt":"2012-06-13T13:00:46","guid":{"rendered":"http:\/\/blog.unelink.es\/?p=2206"},"modified":"2012-06-12T15:36:08","modified_gmt":"2012-06-12T13:36:08","slug":"minimizado-css-con-php","status":"publish","type":"post","link":"https:\/\/hosting.airetech.es\/blog\/wiki\/minimizado-css-con-php\/","title":{"rendered":"Minimizado CSS con PHP"},"content":{"rendered":"<p>Minimizar el CSS nos ayudar\u00e1 a acelerar y dar mejor rendimiento a nuestra p\u00e1gina PHP, por lo que siempre es conveniente hacerlo, al menos en producci\u00f3n.<\/p>\n<p>Para poder realizarlo, debemos tener en cuenta un punto muy importante: las rutas de las im\u00e1genes contenidas en nuestros CSS, ya que por lo general est\u00e1n con rutas relativas.<\/p>\n<p>Para resolver este problema aconsejo crear un alias de Apache a un CDN com\u00fan de im\u00e1genes, pudi\u00e9ndolo ordenar por fichero CSS o como nos venga en gana.<\/p>\n<p>Este m\u00e9todo da muy buenos resultados y nos evitar\u00e1 m\u00e1s de un dolor de cabeza.<\/p>\n<p>Directorio CDN para im\u00e1genes:<\/p>\n<pre>\r\n\/var\/www\/vhosts\/midominio.com\/cdn_imagenes\/  \r\n<\/pre>\n<p>Directorio im\u00e1genes css_uno:<\/p>\n<pre>\r\n\/var\/www\/vhosts\/midominio.com\/cdn_imagenes\/css_uno\/  \r\n<\/pre>\n<p>Directorio im\u00e1genes css_dos:<\/p>\n<pre>\r\n\/var\/www\/vhosts\/midominio.com\/cdn_imagenes\/css_dos\/\r\n<\/pre>\n<p>Alias Apache:<\/p>\n<pre>\r\nAlias \/cdn_css\/ \/var\/www\/vhosts\/midominio.com\/cdn_imagenes\/\r\n<\/pre>\n<p>Ahora solo quedar\u00eda modificar nuestros CSS y poner rutas absolutas de este modo:<\/p>\n<pre>\r\n\/cdn_css\/css_uno\/imagen.jpg  \r\n<\/pre>\n<p>Y el script que nos minimizar\u00e1 todo el directorio de nuestros CSS:<\/p>\n<pre>\r\n&lt;?php\r\n$css_files = array\r\n(\r\n    'uno.css',\r\n    'dos.css'\r\n);\r\n\r\n$css_content = '';\r\nforeach ($css_files as $a_file) { $css_content .= file_get_contents($a_file); }\r\n\r\n$css_content = preg_replace('!\/\\*[^*]*\\*+([^\/][^*]*\\*+)*\/!', '', $css_content);\r\n$css_content = str_replace(': ', ':', $css_content);\r\n$css_content = str_replace(array(\"\\r\\n\", \"\\r\", \"\\n\", \"\\t\", '  ', '    ', '    '), '', $css_content);\r\n\r\nob_start(\"ob_gzhandler\");\r\n\r\nheader('Cache-Control: public');\r\nheader('Expires: ' . gmdate('D, d M Y H:i:s', time() + 86400) . ' GMT');\r\nheader(\"Content-type: text\/css\");\r\n\r\necho($css_content);\r\n?&gt;\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"Minimizar el CSS nos ayudar\u00e1 a acelerar y dar mejor rendimiento a nuestra p\u00e1gina PHP, por lo que siempre es conveniente hacerlo, al menos en producci\u00f3n. Para poder realizarlo, debemos tener en cuenta un punto muy importante: las rutas de las im\u00e1genes contenidas en nuestros CSS, ya que por lo general est\u00e1n con rutas relativas. Para resolver este problema aconsejo&nbsp;<a href=\"https:\/\/hosting.airetech.es\/blog\/wiki\/minimizado-css-con-php\/\" class=\"read-more\">Seguir leyendo<\/a>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[39,6],"tags":[145,218],"class_list":["post-2206","post","type-post","status-publish","format-standard","hentry","category-php","category-wiki","tag-css","tag-php","cat-39-id","cat-6-id"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/posts\/2206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/comments?post=2206"}],"version-history":[{"count":3,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/posts\/2206\/revisions"}],"predecessor-version":[{"id":2315,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/posts\/2206\/revisions\/2315"}],"wp:attachment":[{"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/media?parent=2206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/categories?post=2206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hosting.airetech.es\/blog\/wp-json\/wp\/v2\/tags?post=2206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}