{"id":5864,"date":"2013-02-27T14:40:46","date_gmt":"2013-02-27T14:40:46","guid":{"rendered":"https:\/\/www.jose-aguilar.com\/blog\/?p=5864"},"modified":"2015-07-22T21:59:31","modified_gmt":"2015-07-22T21:59:31","slug":"generar-codigos-qr-php","status":"publish","type":"post","link":"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/","title":{"rendered":"Generar c\u00f3digos QR con PHP"},"content":{"rendered":"<p>Los <strong>c\u00f3digos QR<\/strong>, ( en ingl\u00e9s QR Code) son un tipo de c\u00f3digos de barras bidimensionales. A diferencia de un c\u00f3digo de barras convencional ( por ejemplo EAN-13, C\u00f3digo 3 de 9, UPC), la informaci\u00f3n est\u00e1 codificada dentro de un cuadrado, permitiendo almacenar gran cantidad de informaci\u00f3n alfanum\u00e9rica.<\/p>\n<p>Los <strong>c\u00f3digos QR<\/strong> son f\u00e1cilmente identificables por su forma cuadrada y por los tres cuadros ubicados en las esquinas superiores e inferior izquierda.<\/p>\n<p><a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/02\/qr.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5871\" alt=\"qr\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/02\/qr.png\" width=\"224\" height=\"227\" \/><\/a><\/p>\n<p>Aunque el desarrollo inicial de los C\u00f3digos QR ten\u00eda como objetivo principal su utilizaci\u00f3n en la industria de la automoci\u00f3n, hoy por hoy la posibiidad de leer c\u00f3gigos QR desde tel\u00e9fonos y dispositivos m\u00f3viles permite el uso de Qr Codes en un sinf\u00edn de aplicaciones completamente diferentes de las que originales como pueden ser:<\/p>\n<ul>\n<li>Publicidad<\/li>\n<li>Campa\u00f1as de marketing<\/li>\n<li>Merchandising<\/li>\n<li>Dise\u00f1o Gr\u00e1fico<\/li>\n<li>Papeler\u00eda corporativa ( tarjetas de visita, cat\u00e1logos)<\/li>\n<li>Internet, Webs, blogs<\/li>\n<\/ul>\n<p>Existen diversos generadores de c\u00f3digos QR por la Web pero si quieres llegar m\u00e1s a fondo en el asunto, en este art\u00edculo vamos a ver como generar c\u00f3digos QR desde c\u00f3digo con PHP.<\/p>\n<p>Lo primero que tendremos que hacer es descargar la librer\u00eda de http:\/\/phpqrcode.sourceforge.net\/<\/p>\n<p>Descomprimir el paquete y subirlo al destino deseado del servidor. Ahora podremos crear un archivo PHP como por ejemplo en siguiente:<\/p>\n<pre>&lt;?php\r\n\/\/set it to writable location, a place for temp generated PNG files\r\n$PNG_TEMP_DIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'temp'.DIRECTORY_SEPARATOR;\r\n\r\n\/\/html PNG location prefix\r\n$PNG_WEB_DIR = 'temp\/';\r\n\r\ninclude \"qrlib.php\";\u00a0\u00a0 \u00a0\r\n\r\n\/\/ofcourse we need rights to create temp dir\r\nif (!file_exists($PNG_TEMP_DIR))\r\n\u00a0\u00a0 \u00a0mkdir($PNG_TEMP_DIR);\r\n\r\n$filename = $PNG_TEMP_DIR.'test.png';\r\n\r\n$matrixPointSize = 10;\r\n$errorCorrectionLevel = 'L';\r\n\r\n$filename = $PNG_TEMP_DIR.'test'.md5($_REQUEST['data'].'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png';\r\nQRcode::png('informaci\u00f3n', $filename, $errorCorrectionLevel, $matrixPointSize, 2); \r\n\r\necho '&lt;img src=\"'.$PNG_WEB_DIR.basename($filename).'\" \/&gt;&lt;hr\/&gt;'; \u00a0\r\n?&gt;<\/pre>\n<p>Donde tan solo estamos mostrando la imagen que representa el c\u00f3digo QR con el valor \u00abInformaci\u00f3n\u00bb.<\/p>\n<p>Podemos leer desde cualquier dispositivo m\u00f3vil con una aplicaci\u00f3n lectera de c\u00f3digos QR como por ejemplo BIDI el contenido de nuestro ejemplo en funcionamiento.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Los c\u00f3digos QR, ( en ingl\u00e9s QR Code) son un tipo de c\u00f3digos de barras bidimensionales. A diferencia de un c\u00f3digo de barras convencional ( por ejemplo EAN-13, C\u00f3digo 3 de 9, UPC), la informaci\u00f3n est\u00e1 codificada dentro de un cuadrado, permitiendo almacenar gran cantidad de informaci\u00f3n alfanum\u00e9rica. Los c\u00f3digos QR son f\u00e1cilmente identificables por [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5871,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-5864","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Generar c\u00f3digos QR con PHP - Jose Aguilar Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Generar c\u00f3digos QR con PHP - Jose Aguilar Blog\" \/>\n<meta property=\"og:description\" content=\"Los c\u00f3digos QR, ( en ingl\u00e9s QR Code) son un tipo de c\u00f3digos de barras bidimensionales. A diferencia de un c\u00f3digo de barras convencional ( por ejemplo EAN-13, C\u00f3digo 3 de 9, UPC), la informaci\u00f3n est\u00e1 codificada dentro de un cuadrado, permitiendo almacenar gran cantidad de informaci\u00f3n alfanum\u00e9rica. Los c\u00f3digos QR son f\u00e1cilmente identificables por [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Jose Aguilar Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/joseaguilarblog\" \/>\n<meta property=\"article:published_time\" content=\"2013-02-27T14:40:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-07-22T21:59:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/02\/qr.png\" \/>\n\t<meta property=\"og:image:width\" content=\"224\" \/>\n\t<meta property=\"og:image:height\" content=\"227\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jose Aguilar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:site\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jose Aguilar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/\",\"name\":\"Generar c\u00f3digos QR con PHP - Jose Aguilar Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/02\/qr.png\",\"datePublished\":\"2013-02-27T14:40:46+00:00\",\"dateModified\":\"2015-07-22T21:59:31+00:00\",\"author\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/#primaryimage\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/02\/qr.png\",\"contentUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/02\/qr.png\",\"width\":224,\"height\":227},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.jose-aguilar.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Generar c\u00f3digos QR con PHP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/\",\"name\":\"Jose Aguilar Blog\",\"description\":\"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\",\"name\":\"Jose Aguilar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"caption\":\"Jose Aguilar\"},\"description\":\"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.\",\"sameAs\":[\"https:\/\/plus.google.com\/114357189801512615537\"],\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Generar c\u00f3digos QR con PHP - Jose Aguilar Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"Generar c\u00f3digos QR con PHP - Jose Aguilar Blog","og_description":"Los c\u00f3digos QR, ( en ingl\u00e9s QR Code) son un tipo de c\u00f3digos de barras bidimensionales. A diferencia de un c\u00f3digo de barras convencional ( por ejemplo EAN-13, C\u00f3digo 3 de 9, UPC), la informaci\u00f3n est\u00e1 codificada dentro de un cuadrado, permitiendo almacenar gran cantidad de informaci\u00f3n alfanum\u00e9rica. Los c\u00f3digos QR son f\u00e1cilmente identificables por [&hellip;]","og_url":"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/","og_site_name":"Jose Aguilar Blog","article_publisher":"https:\/\/www.facebook.com\/joseaguilarblog","article_published_time":"2013-02-27T14:40:46+00:00","article_modified_time":"2015-07-22T21:59:31+00:00","og_image":[{"width":224,"height":227,"url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/02\/qr.png","type":"image\/png"}],"author":"Jose Aguilar","twitter_card":"summary_large_image","twitter_creator":"@JoseAguilarBlog","twitter_site":"@JoseAguilarBlog","twitter_misc":{"Escrito por":"Jose Aguilar","Tiempo de lectura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/","url":"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/","name":"Generar c\u00f3digos QR con PHP - Jose Aguilar Blog","isPartOf":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/#primaryimage"},"image":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/#primaryimage"},"thumbnailUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/02\/qr.png","datePublished":"2013-02-27T14:40:46+00:00","dateModified":"2015-07-22T21:59:31+00:00","author":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11"},"breadcrumb":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/#primaryimage","url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/02\/qr.png","contentUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2013\/02\/qr.png","width":224,"height":227},{"@type":"BreadcrumbList","@id":"https:\/\/www.jose-aguilar.com\/blog\/generar-codigos-qr-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.jose-aguilar.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Generar c\u00f3digos QR con PHP"}]},{"@type":"WebSite","@id":"https:\/\/www.jose-aguilar.com\/blog\/#website","url":"https:\/\/www.jose-aguilar.com\/blog\/","name":"Jose Aguilar Blog","description":"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11","name":"Jose Aguilar","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","caption":"Jose Aguilar"},"description":"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.","sameAs":["https:\/\/plus.google.com\/114357189801512615537"],"url":"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/"}]}},"_links":{"self":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/5864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/comments?post=5864"}],"version-history":[{"count":0,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/5864\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media\/5871"}],"wp:attachment":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media?parent=5864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/categories?post=5864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/tags?post=5864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}