<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[ChuJALT - php]]></title>
		<link>https://chujalt.com/</link>
		<description><![CDATA[ChuJALT - https://chujalt.com]]></description>
		<pubDate>Thu, 30 Apr 2026 15:13:50 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Trabajar con archivos excel desde php.]]></title>
			<link>https://chujalt.com/thread-26.html</link>
			<pubDate>Sun, 07 Mar 2021 19:56:44 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://chujalt.com/member.php?action=profile&uid=1">chujalt</a>]]></dc:creator>
			<guid isPermaLink="false">https://chujalt.com/thread-26.html</guid>
			<description><![CDATA[Saludos.<br />
<br />
En este post vamos a trabajar con un archivo excel desde php. Para este ejemplo vamos a trabajar con uno con dos columnas y 24 filas, Una de las columnas son horas (de 1 a 24) y en cada hora un precio, Si lo queréis bajar <a href="https://chujalt.com/1/archivos/excel.xls" target="_blank" rel="noopener" class="mycode_url">AQUI</a>.<br />
<br />
También necesitaremos un archivo para leer el archivo excel , se trata de excel_reader2.php, merito a su autor, te lo puedes bajar de <a href="https://chujalt.com/1/archivos/excel_reader2.zip" target="_blank" rel="noopener" class="mycode_url">AQUI</a>.<br />
<br />
Bien, manos a la obra, en primer lugar tendremos que cargar excel_reader2.php y el propio archivo excel, por lo que al principio de la página pondremos:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">require_once&nbsp;</span><span style="color: #DD0000">'excel_reader2.php'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;data&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Spreadsheet_Excel_Reader</span><span style="color: #007700">(</span><span style="color: #DD0000">"excel.xls"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div><br />
Ahora vamos a crear un array con los valores de las filas y columnas con las que queremos trabajar, pondremos:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">2</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">3</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">3</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">4</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">4</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">5</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">5</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">6</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">6</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">7</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">7</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">8</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">8</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">9</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">9</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">10</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">10</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">11</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">11</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">12</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">12</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">13</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">13</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">14</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">14</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">15</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">15</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">16</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">16</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">17</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">17</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">18</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">18</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">19</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">19</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">20</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">21</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">21</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">22</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">22</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">23</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">23</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">24</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">24</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div><br />
Con esto tendremos un array con las 24 horas y el precio de cada una de ellas.<br />
Vamos a ver el array, escribimos:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div><br />
y obtendremos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>Array ( [1] =&gt; 121,13838673 [2] =&gt; 119,52911591 [3] =&gt; 116,56370045 [4] =&gt; 113,88535263 [5] =&gt; 113,5654684 [6] =&gt; 114,06312135 [7] =&gt; 116,70671779 [8] =&gt; 117,69285692 [9] =&gt; 115,08610616 [10] =&gt; 114,66693383 [11] =&gt; 113,06913537 [12] =&gt; 110,99255973 [13] =&gt; 110,92340009 [14] =&gt; 111,20173737 [15] =&gt; 110,60698288 [16] =&gt; 110,49370675 [17] =&gt; 108,41762924 [18] =&gt; 108,57877114 [19] =&gt; 110,6906715 [20] =&gt; 112,97520268 [21] =&gt; 119,26980347 [22] =&gt; 121,53522841 [23] =&gt; 119,32600748 [24] =&gt; 117,68262512 )</code></div></div><br />
Otra manera de ver los valores del array:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div><br />
Y obtendremos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>array(24) { [1]=&gt; float(121,13838673) [2]=&gt; float(119,52911591) [3]=&gt; float(116,56370045) [4]=&gt; float(113,88535263) [5]=&gt; float(113,5654684) [6]=&gt; float(114,06312135) [7]=&gt; float(116,70671779) [8]=&gt; float(117,69285692) [9]=&gt; float(115,08610616) [10]=&gt; float(114,66693383) [11]=&gt; float(113,06913537) [12]=&gt; float(110,99255973) [13]=&gt; float(110,92340009) [14]=&gt; float(111,20173737) [15]=&gt; float(110,60698288) [16]=&gt; float(110,49370675) [17]=&gt; float(108,41762924) [18]=&gt; float(108,57877114) [19]=&gt; float(110,6906715) [20]=&gt; float(112,97520268) [21]=&gt; float(119,26980347) [22]=&gt; float(121,53522841) [23]=&gt; float(119,32600748) [24]=&gt; float(117,68262512) }</code></div></div><br />
Ahora vamos a mostrar los valores ordenados de menor a mayor precio:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">asort</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_export</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div><br />
Obtenermos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>array ( 17 =&gt; 108.41762924, 18 =&gt; 108.57877114, 16 =&gt; 110.49370675, 15 =&gt; 110.60698288, 19 =&gt; 110.69067149999999, 13 =&gt; 110.92340009, 12 =&gt; 110.99255973, 14 =&gt; 111.20173737, 20 =&gt; 112.97520268, 11 =&gt; 113.06913537, 5 =&gt; 113.5654684, 4 =&gt; 113.88535263, 6 =&gt; 114.06312135, 10 =&gt; 114.66693383, 9 =&gt; 115.08610616, 3 =&gt; 116.56370045, 7 =&gt; 116.70671779, 24 =&gt; 117.68262512, 8 =&gt; 117.69285692, 21 =&gt; 119.26980347, 23 =&gt; 119.32600748, 2 =&gt; 119.52911591, 1 =&gt; 121.13838672999999, 22 =&gt; 121.53522841, )</code></div></div><br />
Vamos a Mostrar el precio mas bajo:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">echo&nbsp;</span><span style="color: #0000BB">min</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div><br />
Obtenemos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>108,41762924</code></div></div><br />
Vamos a mostrar la hora en la que está el precio mas bajo:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&#36;min_keys&nbsp;</span><span style="color: #007700">=&nbsp;array();&nbsp;<br />foreach(</span><span style="color: #0000BB">&#36;pepe&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;pepo&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">&#36;pepi</span><span style="color: #007700">)&nbsp;<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; if</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepi&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">min</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">))&nbsp;</span><span style="color: #0000BB">array_push</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;min_keys</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;pepo</span><span style="color: #007700">);&nbsp;<br /><br />echo&nbsp;</span><span style="color: #0000BB">&#36;min_keys</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">];&nbsp;<br /></span></code></div></div></div><br />
y obtenemos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>17</code></div></div><br />
En esta ocasión vamos a mostrar los precios de menor a mayor:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">foreach(</span><span style="color: #0000BB">&#36;pepe&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;pepito</span><span style="color: #007700">){<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; echo&nbsp;&#36;pepito</span><span style="color: #007700">.</span><span style="color: #DD0000">"&lt;br&gt;"</span><span style="color: #007700">;<br />}&nbsp;<br /></span></code></div></div></div><br />
Con lo que obtendremos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>108,41762924<br />
108,57877114<br />
110,49370675<br />
110,60698288<br />
110,6906715<br />
110,92340009<br />
110,99255973<br />
111,20173737<br />
112,97520268<br />
113,06913537<br />
113,5654684<br />
113,88535263<br />
114,06312135<br />
114,66693383<br />
115,08610616<br />
116,56370045<br />
116,70671779<br />
117,68262512<br />
117,69285692<br />
119,26980347<br />
119,32600748<br />
119,52911591<br />
121,13838673<br />
121,53522841</code></div></div><br />
Vamos a mostrar los horarios de menor a mayor precio:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&#36;juan&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_keys</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">);<br />foreach(</span><span style="color: #0000BB">&#36;juan&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;juanito</span><span style="color: #007700">){<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; echo&nbsp;&#36;juanito</span><span style="color: #007700">.</span><span style="color: #DD0000">"&lt;br&gt;"</span><span style="color: #007700">;<br />}&nbsp;<br /></span></code></div></div></div><br />
Y obtendremos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>17<br />
18<br />
16<br />
15<br />
19<br />
13<br />
12<br />
14<br />
20<br />
11<br />
5<br />
4<br />
6<br />
10<br />
9<br />
3<br />
7<br />
24<br />
8<br />
21<br />
23<br />
2<br />
1<br />
22</code></div></div><br />
Vamos a mostrar los horarios con el precio ordenados de menor a mayo:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">foreach&nbsp;(</span><span style="color: #0000BB">&#36;pepe&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;hora&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">&#36;precio</span><span style="color: #007700">)&nbsp;{<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; echo&nbsp;</span><span style="color: #DD0000">"&nbsp;A&nbsp;las&nbsp;</span><span style="color: #0000BB">&#36;hora</span><span style="color: #DD0000">&nbsp;horas&nbsp;el&nbsp;precio&nbsp;será&nbsp;</span><span style="color: #0000BB">&#36;precio</span><span style="color: #DD0000">.&#092;n"</span><span style="color: #007700">;<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; echo&nbsp;</span><span style="color: #DD0000">"&lt;/p&gt;"</span><span style="color: #007700">;<br />}&nbsp;<br /></span></code></div></div></div><br />
Obtenemos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>A las 17 horas el precio será 108,41762924.<br />
A las 18 horas el precio será 108,57877114.<br />
A las 16 horas el precio será 110,49370675.<br />
A las 15 horas el precio será 110,60698288.<br />
A las 19 horas el precio será 110,6906715.<br />
A las 13 horas el precio será 110,92340009.<br />
A las 12 horas el precio será 110,99255973.<br />
A las 14 horas el precio será 111,20173737.<br />
A las 20 horas el precio será 112,97520268.<br />
A las 11 horas el precio será 113,06913537.<br />
A las 5 horas el precio será 113,5654684.<br />
A las 4 horas el precio será 113,88535263.<br />
A las 6 horas el precio será 114,06312135.<br />
A las 10 horas el precio será 114,66693383.<br />
A las 9 horas el precio será 115,08610616.<br />
A las 3 horas el precio será 116,56370045.<br />
A las 7 horas el precio será 116,70671779.<br />
A las 24 horas el precio será 117,68262512.<br />
A las 8 horas el precio será 117,69285692.<br />
A las 21 horas el precio será 119,26980347.<br />
A las 23 horas el precio será 119,32600748.<br />
A las 2 horas el precio será 119,52911591.<br />
A las 1 horas el precio será 121,13838673.<br />
A las 22 horas el precio será 121,53522841.</code></div></div><br />
Ahora vamos a mostrar el precio mas bajos que yo quiero, en esta ocasión el precio mas bajo y el cuarto mas bajo:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">echo&nbsp;</span><span style="color: #0000BB">&#36;juan</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">].</span><span style="color: #DD0000">"&lt;br&gt;"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #0000BB">&#36;juan</span><span style="color: #007700">[</span><span style="color: #0000BB">3</span><span style="color: #007700">];&nbsp;<br /></span></code></div></div></div><br />
La salida será:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>17<br />
15</code></div></div><br />
Vamos a calcular el valor medio del precio:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&#36;promedio</span><span style="color: #007700">=</span><span style="color: #0000BB">array_sum</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">)/</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">);&nbsp;<br />echo&nbsp;</span><span style="color: #DD0000">"El&nbsp;valor&nbsp;medio&nbsp;de&nbsp;hoy&nbsp;es:&nbsp;</span><span style="color: #0000BB">&#36;promedio</span><span style="color: #DD0000">&nbsp;€"</span><span style="color: #007700">;&nbsp;<br /></span></code></div></div></div><br />
Nos mostrará:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>El valor medio de hoy es: 114,52755089167 €</code></div></div><br />
Vamos a mostrar el precio de la hora actual de nuestro sistema y lo compara con la media:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&#36;tiempo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">getdate</span><span style="color: #007700">(</span><span style="color: #0000BB">time</span><span style="color: #007700">());<br /></span><span style="color: #0000BB">&#36;hora&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;tiempo</span><span style="color: #007700">[</span><span style="color: #DD0000">"hours"</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">&#36;valor_hora_actual&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">&#36;hora</span><span style="color: #007700">];<br />echo&nbsp;</span><span style="color: #DD0000">"la&nbsp;hora&nbsp;actual&nbsp;es&nbsp;</span><span style="color: #0000BB">&#36;hora</span><span style="color: #DD0000">&nbsp;horas&lt;br&gt;"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"el&nbsp;valor&nbsp;medio&nbsp;del&nbsp;día&nbsp;de&nbsp;hoy&nbsp;es&nbsp;</span><span style="color: #0000BB">&#36;promedio</span><span style="color: #DD0000">&nbsp;&lt;br&gt;"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"el&nbsp;precio&nbsp;de&nbsp;esta&nbsp;hora&nbsp;es&nbsp;</span><span style="color: #0000BB">&#36;valor_hora_actual</span><span style="color: #DD0000">&nbsp;&lt;br&gt;"</span><span style="color: #007700">;<br />if&nbsp;(</span><span style="color: #0000BB">&#36;valor_hora_actual&nbsp;</span><span style="color: #007700">&gt;=&nbsp;</span><span style="color: #0000BB">&#36;promedio</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Esta&nbsp;hora&nbsp;es&nbsp;mas&nbsp;cara&nbsp;que&nbsp;la&nbsp;media"</span><span style="color: #007700">;<br />}<br />else<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Esta&nbsp;hora&nbsp;es&nbsp;mas&nbsp;barata&nbsp;que&nbsp;la&nbsp;media"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br /></span></code></div></div></div><br />
Y obtenemos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>la hora actual es 20 horas<br />
el valor medio del día de hoy es 114,52755089167 <br />
el precio de esta hora es 112,97520268 <br />
Esta hora es mas barata que la media</code></div></div><br />
<br />
Bueno, ya está, espero que le sirva a alguien de ayuda.<br />
<br />
Saludos.]]></description>
			<content:encoded><![CDATA[Saludos.<br />
<br />
En este post vamos a trabajar con un archivo excel desde php. Para este ejemplo vamos a trabajar con uno con dos columnas y 24 filas, Una de las columnas son horas (de 1 a 24) y en cada hora un precio, Si lo queréis bajar <a href="https://chujalt.com/1/archivos/excel.xls" target="_blank" rel="noopener" class="mycode_url">AQUI</a>.<br />
<br />
También necesitaremos un archivo para leer el archivo excel , se trata de excel_reader2.php, merito a su autor, te lo puedes bajar de <a href="https://chujalt.com/1/archivos/excel_reader2.zip" target="_blank" rel="noopener" class="mycode_url">AQUI</a>.<br />
<br />
Bien, manos a la obra, en primer lugar tendremos que cargar excel_reader2.php y el propio archivo excel, por lo que al principio de la página pondremos:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">require_once&nbsp;</span><span style="color: #DD0000">'excel_reader2.php'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;data&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Spreadsheet_Excel_Reader</span><span style="color: #007700">(</span><span style="color: #DD0000">"excel.xls"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div><br />
Ahora vamos a crear un array con los valores de las filas y columnas con las que queremos trabajar, pondremos:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">2</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">3</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">3</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">4</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">4</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">5</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">5</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">6</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">6</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">7</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">7</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">8</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">8</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">9</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">9</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">10</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">10</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">11</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">11</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">12</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">12</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">13</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">13</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">14</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">14</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">15</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">15</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">16</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">16</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">17</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">17</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">18</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">18</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">19</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">19</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">20</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">21</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">21</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">22</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">22</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">23</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">23</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">24</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">raw</span><span style="color: #007700">(</span><span style="color: #0000BB">24</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div><br />
Con esto tendremos un array con las 24 horas y el precio de cada una de ellas.<br />
Vamos a ver el array, escribimos:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div><br />
y obtendremos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>Array ( [1] =&gt; 121,13838673 [2] =&gt; 119,52911591 [3] =&gt; 116,56370045 [4] =&gt; 113,88535263 [5] =&gt; 113,5654684 [6] =&gt; 114,06312135 [7] =&gt; 116,70671779 [8] =&gt; 117,69285692 [9] =&gt; 115,08610616 [10] =&gt; 114,66693383 [11] =&gt; 113,06913537 [12] =&gt; 110,99255973 [13] =&gt; 110,92340009 [14] =&gt; 111,20173737 [15] =&gt; 110,60698288 [16] =&gt; 110,49370675 [17] =&gt; 108,41762924 [18] =&gt; 108,57877114 [19] =&gt; 110,6906715 [20] =&gt; 112,97520268 [21] =&gt; 119,26980347 [22] =&gt; 121,53522841 [23] =&gt; 119,32600748 [24] =&gt; 117,68262512 )</code></div></div><br />
Otra manera de ver los valores del array:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div><br />
Y obtendremos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>array(24) { [1]=&gt; float(121,13838673) [2]=&gt; float(119,52911591) [3]=&gt; float(116,56370045) [4]=&gt; float(113,88535263) [5]=&gt; float(113,5654684) [6]=&gt; float(114,06312135) [7]=&gt; float(116,70671779) [8]=&gt; float(117,69285692) [9]=&gt; float(115,08610616) [10]=&gt; float(114,66693383) [11]=&gt; float(113,06913537) [12]=&gt; float(110,99255973) [13]=&gt; float(110,92340009) [14]=&gt; float(111,20173737) [15]=&gt; float(110,60698288) [16]=&gt; float(110,49370675) [17]=&gt; float(108,41762924) [18]=&gt; float(108,57877114) [19]=&gt; float(110,6906715) [20]=&gt; float(112,97520268) [21]=&gt; float(119,26980347) [22]=&gt; float(121,53522841) [23]=&gt; float(119,32600748) [24]=&gt; float(117,68262512) }</code></div></div><br />
Ahora vamos a mostrar los valores ordenados de menor a mayor precio:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">asort</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_export</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div><br />
Obtenermos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>array ( 17 =&gt; 108.41762924, 18 =&gt; 108.57877114, 16 =&gt; 110.49370675, 15 =&gt; 110.60698288, 19 =&gt; 110.69067149999999, 13 =&gt; 110.92340009, 12 =&gt; 110.99255973, 14 =&gt; 111.20173737, 20 =&gt; 112.97520268, 11 =&gt; 113.06913537, 5 =&gt; 113.5654684, 4 =&gt; 113.88535263, 6 =&gt; 114.06312135, 10 =&gt; 114.66693383, 9 =&gt; 115.08610616, 3 =&gt; 116.56370045, 7 =&gt; 116.70671779, 24 =&gt; 117.68262512, 8 =&gt; 117.69285692, 21 =&gt; 119.26980347, 23 =&gt; 119.32600748, 2 =&gt; 119.52911591, 1 =&gt; 121.13838672999999, 22 =&gt; 121.53522841, )</code></div></div><br />
Vamos a Mostrar el precio mas bajo:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">echo&nbsp;</span><span style="color: #0000BB">min</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div><br />
Obtenemos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>108,41762924</code></div></div><br />
Vamos a mostrar la hora en la que está el precio mas bajo:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&#36;min_keys&nbsp;</span><span style="color: #007700">=&nbsp;array();&nbsp;<br />foreach(</span><span style="color: #0000BB">&#36;pepe&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;pepo&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">&#36;pepi</span><span style="color: #007700">)&nbsp;<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; if</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepi&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">min</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">))&nbsp;</span><span style="color: #0000BB">array_push</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;min_keys</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;pepo</span><span style="color: #007700">);&nbsp;<br /><br />echo&nbsp;</span><span style="color: #0000BB">&#36;min_keys</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">];&nbsp;<br /></span></code></div></div></div><br />
y obtenemos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>17</code></div></div><br />
En esta ocasión vamos a mostrar los precios de menor a mayor:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">foreach(</span><span style="color: #0000BB">&#36;pepe&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;pepito</span><span style="color: #007700">){<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; echo&nbsp;&#36;pepito</span><span style="color: #007700">.</span><span style="color: #DD0000">"&lt;br&gt;"</span><span style="color: #007700">;<br />}&nbsp;<br /></span></code></div></div></div><br />
Con lo que obtendremos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>108,41762924<br />
108,57877114<br />
110,49370675<br />
110,60698288<br />
110,6906715<br />
110,92340009<br />
110,99255973<br />
111,20173737<br />
112,97520268<br />
113,06913537<br />
113,5654684<br />
113,88535263<br />
114,06312135<br />
114,66693383<br />
115,08610616<br />
116,56370045<br />
116,70671779<br />
117,68262512<br />
117,69285692<br />
119,26980347<br />
119,32600748<br />
119,52911591<br />
121,13838673<br />
121,53522841</code></div></div><br />
Vamos a mostrar los horarios de menor a mayor precio:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&#36;juan&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_keys</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">);<br />foreach(</span><span style="color: #0000BB">&#36;juan&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;juanito</span><span style="color: #007700">){<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; echo&nbsp;&#36;juanito</span><span style="color: #007700">.</span><span style="color: #DD0000">"&lt;br&gt;"</span><span style="color: #007700">;<br />}&nbsp;<br /></span></code></div></div></div><br />
Y obtendremos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>17<br />
18<br />
16<br />
15<br />
19<br />
13<br />
12<br />
14<br />
20<br />
11<br />
5<br />
4<br />
6<br />
10<br />
9<br />
3<br />
7<br />
24<br />
8<br />
21<br />
23<br />
2<br />
1<br />
22</code></div></div><br />
Vamos a mostrar los horarios con el precio ordenados de menor a mayo:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">foreach&nbsp;(</span><span style="color: #0000BB">&#36;pepe&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;hora&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">&#36;precio</span><span style="color: #007700">)&nbsp;{<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; echo&nbsp;</span><span style="color: #DD0000">"&nbsp;A&nbsp;las&nbsp;</span><span style="color: #0000BB">&#36;hora</span><span style="color: #DD0000">&nbsp;horas&nbsp;el&nbsp;precio&nbsp;será&nbsp;</span><span style="color: #0000BB">&#36;precio</span><span style="color: #DD0000">.&#092;n"</span><span style="color: #007700">;<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; echo&nbsp;</span><span style="color: #DD0000">"&lt;/p&gt;"</span><span style="color: #007700">;<br />}&nbsp;<br /></span></code></div></div></div><br />
Obtenemos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>A las 17 horas el precio será 108,41762924.<br />
A las 18 horas el precio será 108,57877114.<br />
A las 16 horas el precio será 110,49370675.<br />
A las 15 horas el precio será 110,60698288.<br />
A las 19 horas el precio será 110,6906715.<br />
A las 13 horas el precio será 110,92340009.<br />
A las 12 horas el precio será 110,99255973.<br />
A las 14 horas el precio será 111,20173737.<br />
A las 20 horas el precio será 112,97520268.<br />
A las 11 horas el precio será 113,06913537.<br />
A las 5 horas el precio será 113,5654684.<br />
A las 4 horas el precio será 113,88535263.<br />
A las 6 horas el precio será 114,06312135.<br />
A las 10 horas el precio será 114,66693383.<br />
A las 9 horas el precio será 115,08610616.<br />
A las 3 horas el precio será 116,56370045.<br />
A las 7 horas el precio será 116,70671779.<br />
A las 24 horas el precio será 117,68262512.<br />
A las 8 horas el precio será 117,69285692.<br />
A las 21 horas el precio será 119,26980347.<br />
A las 23 horas el precio será 119,32600748.<br />
A las 2 horas el precio será 119,52911591.<br />
A las 1 horas el precio será 121,13838673.<br />
A las 22 horas el precio será 121,53522841.</code></div></div><br />
Ahora vamos a mostrar el precio mas bajos que yo quiero, en esta ocasión el precio mas bajo y el cuarto mas bajo:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">echo&nbsp;</span><span style="color: #0000BB">&#36;juan</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">].</span><span style="color: #DD0000">"&lt;br&gt;"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #0000BB">&#36;juan</span><span style="color: #007700">[</span><span style="color: #0000BB">3</span><span style="color: #007700">];&nbsp;<br /></span></code></div></div></div><br />
La salida será:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>17<br />
15</code></div></div><br />
Vamos a calcular el valor medio del precio:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&#36;promedio</span><span style="color: #007700">=</span><span style="color: #0000BB">array_sum</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">)/</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">);&nbsp;<br />echo&nbsp;</span><span style="color: #DD0000">"El&nbsp;valor&nbsp;medio&nbsp;de&nbsp;hoy&nbsp;es:&nbsp;</span><span style="color: #0000BB">&#36;promedio</span><span style="color: #DD0000">&nbsp;€"</span><span style="color: #007700">;&nbsp;<br /></span></code></div></div></div><br />
Nos mostrará:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>El valor medio de hoy es: 114,52755089167 €</code></div></div><br />
Vamos a mostrar el precio de la hora actual de nuestro sistema y lo compara con la media:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&#36;tiempo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">getdate</span><span style="color: #007700">(</span><span style="color: #0000BB">time</span><span style="color: #007700">());<br /></span><span style="color: #0000BB">&#36;hora&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;tiempo</span><span style="color: #007700">[</span><span style="color: #DD0000">"hours"</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">&#36;valor_hora_actual&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;pepe</span><span style="color: #007700">[</span><span style="color: #0000BB">&#36;hora</span><span style="color: #007700">];<br />echo&nbsp;</span><span style="color: #DD0000">"la&nbsp;hora&nbsp;actual&nbsp;es&nbsp;</span><span style="color: #0000BB">&#36;hora</span><span style="color: #DD0000">&nbsp;horas&lt;br&gt;"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"el&nbsp;valor&nbsp;medio&nbsp;del&nbsp;día&nbsp;de&nbsp;hoy&nbsp;es&nbsp;</span><span style="color: #0000BB">&#36;promedio</span><span style="color: #DD0000">&nbsp;&lt;br&gt;"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"el&nbsp;precio&nbsp;de&nbsp;esta&nbsp;hora&nbsp;es&nbsp;</span><span style="color: #0000BB">&#36;valor_hora_actual</span><span style="color: #DD0000">&nbsp;&lt;br&gt;"</span><span style="color: #007700">;<br />if&nbsp;(</span><span style="color: #0000BB">&#36;valor_hora_actual&nbsp;</span><span style="color: #007700">&gt;=&nbsp;</span><span style="color: #0000BB">&#36;promedio</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Esta&nbsp;hora&nbsp;es&nbsp;mas&nbsp;cara&nbsp;que&nbsp;la&nbsp;media"</span><span style="color: #007700">;<br />}<br />else<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Esta&nbsp;hora&nbsp;es&nbsp;mas&nbsp;barata&nbsp;que&nbsp;la&nbsp;media"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br /></span></code></div></div></div><br />
Y obtenemos:<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>la hora actual es 20 horas<br />
el valor medio del día de hoy es 114,52755089167 <br />
el precio de esta hora es 112,97520268 <br />
Esta hora es mas barata que la media</code></div></div><br />
<br />
Bueno, ya está, espero que le sirva a alguien de ayuda.<br />
<br />
Saludos.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Saber nuestra IP publica. Servicio tipo no-ip o DynDNS.]]></title>
			<link>https://chujalt.com/thread-25.html</link>
			<pubDate>Sun, 07 Mar 2021 19:53:29 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://chujalt.com/member.php?action=profile&uid=1">chujalt</a>]]></dc:creator>
			<guid isPermaLink="false">https://chujalt.com/thread-25.html</guid>
			<description><![CDATA[Saludos amigos.<br />
<br />
Si tenemos un servidor montado en casa y nuestro proveedor de internet no nos facilita una IP fija tendremos la necesidad de saber en todo momento nuestra IP pública. Vamos a montar un servicio tipo no-ip o DynDNS.<br />
<br />
El servicio consta de dos partes, una en nuestro ordenador y por otra parte necesitaremos un servidor de internet, por ejemplo, si no tenemos un servicio de hosting, <a href="https://www.hostinger.es/" target="_blank" rel="noopener" class="mycode_url">https://www.hostinger.es/</a> , nos ofrece de forma gratuita todo lo que necesitamos, 2 GB de almacenamiento, php y bases de datos MySQL. <br />
<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #3333ff;" class="mycode_color">EN NUESTRO ORDENADOR</span></span><br />
<br />
Tengo que aclarar que lo que explico a continuación lo he hecho bajo un sistema linux.<br />
<br />
En  primer lugar crearemos un directorio en el servidor de nuestro pc, yo lo he llamado curl, la ruta sería /var/www/html/curl.<br />
<br />
Abrimos nuestro editor de texto favorito y escribimos<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>#!/bin/bash<br />
curl -d "value1=pepico" http://midominio.com/curl/index.php</code></div></div><br />
<br />
Lo guardamos con el nombre 1.sh, por ejemplo, y le damos permisos de ejecución. En la última linea cambiar midominio.com por el de nuestro servidor de hosting, también, donde vemos value1=pepico. cambiamos el nombre por el que queramos.<br />
<br />
Este script lo que hace es enviar el nombre de usuario a nuestra página index.php del servidor de hosting mediante el método post.<br />
<br />
Ahora vamos a editar crontab para que nuestro script se ejecute cada dos horas. Abrimos un terminal y escribimos <br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>sudo gedit /etc/crontab</code></div></div><br />
<br />
y en crontab añadimos esta línea<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>0 */2&nbsp;&nbsp;&nbsp;&nbsp;* * *&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp;&nbsp;&nbsp;/var/www/html/curl/1.sh</code></div></div><br />
<br />
guardamos y cerramos. Como hemos dicho, ésto hará que nuestro script se ejecute cada dos horas.<br />
<br />
Ya hemos terminado en nuestro PC, ahora iremos a nuestro servidor de hosting.<br />
<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #3333ff;" class="mycode_color">EN NUESTRO SERVIDOR DE HOSTING</span></span> <br />
<br />
Deberemos crear una base de datos MySQL con nombre curl, con una tabla llamada datos y 4 columnas, id (int, primary key, auto_increment), nombre (varchar 50), ip (varchar 50) y fecha (timestamp, CURRENT_TIMESTAMP)<br />
<br />
Ahora vamos a crear la página index que recogerá los datos que le hemos enviado antes por el script bash y los introducirá en nuestra base de datos. Paso previo es crear también una página conex.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #cc3333;" class="mycode_color">conex.php</span></span><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;hostname&nbsp;o&nbsp;ip&nbsp;del&nbsp;servidor&nbsp;de&nbsp;Base&nbsp;Datos<br /></span><span style="color: #0000BB">&#36;bd_host</span><span style="color: #007700">=</span><span style="color: #DD0000">'localhost'</span><span style="color: #007700">;<br />&nbsp;<br /></span><span style="color: #FF8000">//&nbsp;nombre&nbsp;de&nbsp;usuario&nbsp;<br /></span><span style="color: #0000BB">&#36;bd_usuario</span><span style="color: #007700">=</span><span style="color: #DD0000">'usuario'</span><span style="color: #007700">;<br />&nbsp;<br /></span><span style="color: #FF8000">//&nbsp;la&nbsp;contraseña&nbsp;para&nbsp;la&nbsp;BBDD&nbsp; <br /></span><span style="color: #0000BB">&#36;bd_password</span><span style="color: #007700">=</span><span style="color: #DD0000">'contraseña'</span><span style="color: #007700">;<br />&nbsp;<br /></span><span style="color: #FF8000">//&nbsp;nombre&nbsp;del&nbsp;BBDD<br /></span><span style="color: #0000BB">&#36;bd_base</span><span style="color: #007700">=</span><span style="color: #DD0000">'curl'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;conexion&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">mysqli</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;bd_host</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;bd_usuario</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;bd_password</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;bd_base</span><span style="color: #007700">);<br />&nbsp;<br />if&nbsp;(</span><span style="color: #0000BB">&#36;conexion</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">connect_errno</span><span style="color: #007700">)&nbsp;<br />{<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;se&nbsp;pudo&nbsp;conectar&nbsp;a&nbsp;la&nbsp;Base&nbsp;Datos:&nbsp;("&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;mysqli</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">connect_errno&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">")&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;mysqli</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">connect_error</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div><br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #cc3333;" class="mycode_color">index.php</span></span> <br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">include(</span><span style="color: #DD0000">"conex.php"</span><span style="color: #007700">);<br />if(</span><span style="color: #0000BB">&#36;_POST</span><span style="color: #007700">)<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; </span><span style="color: #007700">{<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;&#36;queryInsert&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"INSERT&nbsp;INTO&nbsp;datos&nbsp;(nombre,&nbsp;ip)&nbsp;VALUES&nbsp;('"</span><span style="color: #007700">.</span><span style="color: #0000BB">&#36;_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'value1'</span><span style="color: #007700">].</span><span style="color: #DD0000">"',&nbsp;'"</span><span style="color: #007700">.</span><span style="color: #0000BB">&#36;_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'REMOTE_ADDR'</span><span style="color: #007700">].</span><span style="color: #DD0000">"');"</span><span style="color: #007700">;<br />&nbsp;<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;&#36;resultInsert&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysqli_query</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;conexion</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;queryInsert</span><span style="color: #007700">);&nbsp;<br />&nbsp;<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">if(</span><span style="color: #0000BB">&#36;resultInsert</span><span style="color: #007700">)<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">{<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo&nbsp;</span><span style="color: #DD0000">"&lt;strong&gt;Se&nbsp;ingresaron&nbsp;los&nbsp;registros&nbsp;con&nbsp;exito&lt;/strong&gt;.&nbsp;&lt;br&gt;"</span><span style="color: #007700">;<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">}<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">else<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">{<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;se&nbsp;ingresaron&nbsp;los&nbsp;registros.&nbsp;&lt;br&gt;"</span><span style="color: #007700">;<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">}<br />&nbsp;<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; </span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div><br />
<br />
Con esto ya tenemos nuestra última ip metida en la base de datos.<br />
<br />
Ahora vamos a crear dos sencillas páginas para saber cual es nuestra actual ip pública de nuestro PC, buscar.php y encontrado.php.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #cc3333;" class="mycode_color">buscar.php</span></span><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">&lt;</span><span style="color: #0000BB">html</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Entrada&nbsp;de&nbsp;enlaces</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">meta&nbsp;http</span><span style="color: #007700">-</span><span style="color: #0000BB">equiv</span><span style="color: #007700">=</span><span style="color: #DD0000">"Content-Type"&nbsp;</span><span style="color: #0000BB">content</span><span style="color: #007700">=</span><span style="color: #DD0000">"text/html;&nbsp;charset=ISO-8859-1"</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br /><br />&lt;</span><span style="color: #0000BB">body</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">form&nbsp;action</span><span style="color: #007700">=</span><span style="color: #DD0000">"encontrado.php"&nbsp;</span><span style="color: #0000BB">method</span><span style="color: #007700">=</span><span style="color: #DD0000">"post"</span><span style="color: #007700">&gt;<br />&nbsp;</span><span style="color: #0000BB"> Nombre</span><span style="color: #007700">:&lt;</span><span style="color: #0000BB">br</span><span style="color: #007700">&gt;<br />&nbsp;</span><span style="color: #0000BB"> </span><span style="color: #007700">&lt;</span><span style="color: #0000BB">input&nbsp;type</span><span style="color: #007700">=</span><span style="color: #DD0000">"text"&nbsp;</span><span style="color: #0000BB">name</span><span style="color: #007700">=</span><span style="color: #DD0000">"nombre"</span><span style="color: #007700">&gt;&lt;</span><span style="color: #0000BB">br</span><span style="color: #007700">&gt;&lt;</span><span style="color: #0000BB">br</span><span style="color: #007700">&gt;<br />&nbsp;</span><span style="color: #0000BB"> </span><span style="color: #007700">&lt;</span><span style="color: #0000BB">input&nbsp;type</span><span style="color: #007700">=</span><span style="color: #DD0000">"submit"&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">=</span><span style="color: #DD0000">"Submit"</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">form</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">body</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">html</span><span style="color: #007700">&gt;&nbsp;<br /></span></code></div></div></div><br />
<br />
Nos mostrará un sencillo formulario donde debemos poner nuestro nombre de usuario que está en el script bash.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #cc3333;" class="mycode_color">encontrado.php </span></span><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">&lt;</span><span style="color: #0000BB">html</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Entrada&nbsp;de&nbsp;enlaces</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">meta&nbsp;charset</span><span style="color: #007700">=</span><span style="color: #DD0000">"UTF-8"</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">body</span><span style="color: #007700">&gt;<br />&lt;?</span><span style="color: #0000BB">php<br /></span><span style="color: #007700">include(</span><span style="color: #DD0000">"conex.php"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;consulta&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"SELECT&nbsp;nombre,&nbsp;ip,&nbsp;DATE_FORMAT(fecha,&nbsp;'Con&nbsp;fecha:&nbsp;%d/%m/%y&nbsp;y&nbsp;hora:&nbsp;%H:%i:%s')&nbsp;AS&nbsp;fecha&nbsp;FROM&nbsp;datos&nbsp;WHERE&nbsp;nombre&nbsp;=&nbsp;'"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">"nombre"</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">"'&nbsp;ORDER&nbsp;BY&nbsp;id&nbsp; DESC&nbsp;LIMIT&nbsp;1"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;resultado&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;conexion&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;consulta</span><span style="color: #007700">);<br />echo&nbsp;</span><span style="color: #DD0000">"&lt;span&nbsp;style='color:&nbsp;blue;'&gt;Extracción&nbsp;de&nbsp;último&nbsp;dato&nbsp;...&lt;/span&gt;&nbsp;&lt;br&gt;&lt;br&gt;"</span><span style="color: #007700">;<br />while(</span><span style="color: #0000BB">&#36;fila&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;resultado&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">fetch_array</span><span style="color: #007700">())<br />{<br />echo&nbsp;</span><span style="color: #DD0000">"Usuario:&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;fila</span><span style="color: #007700">[</span><span style="color: #DD0000">"nombre"</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">"&lt;br&gt;"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"Última&nbsp;IP&nbsp;asignada:&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;fila</span><span style="color: #007700">[</span><span style="color: #DD0000">"ip"</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">"&lt;br&gt;"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">""&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;fila</span><span style="color: #007700">[</span><span style="color: #DD0000">"fecha"</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">"&lt;br&gt;&lt;hr&gt;"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">mysqli_free_result</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;resultado</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">mysqli_close</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;conexion</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;/body&gt;<br />&lt;/html&gt;&nbsp;<br /></code></div></div></div><br />
<br />
Nos mostrará la última ip pública que tenemos asignada y a que fecha y hora se captó.<br />
<br />
<blockquote class="mycode_quote"><cite>Cita:</cite>Extracción de último dato ... <br />
<br />
Usuario: pepico<br />
Última IP asignada: 11.111.11.111<br />
Con fecha: 29/04/17 y hora: 18:00:02</blockquote>
<br />
<br />
<br />
Todo esto está bien, pero queremos algo mas, no tener que ir a un formulario para saber nuestra ip, lo que queremos es poner en el navegador una dirección y que nos redireccione a nuestro servidor local, una dirección tipo "<span style="font-weight: bold;" class="mycode_b">midominio.com/pepico</span>". Recordad que pepico era nuestro usuario con el que se guardaban las ip de nuestro servidor local.<br />
<br />
Bien, como al poner esa dirección en el navegador, el directorio <span style="font-weight: bold;" class="mycode_b">pepico </span>no existe, el servidor nos enviará un error 404, página no encontrada. Vamos a crear una página de error 404 tuneada por nosotros.<br />
<br />
Antes de nada vamos a tener que tocar el archivo .htaccess para que cuando se de el error 404 nos muestre nuestra página 404. Abrimos el archivo .htaccess y añadimos la linea<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>ErrorDocument 404 /404.php</code></div></div> <br />
Con esto le decimos que cuando se produzca el error 404 nos muestre la página 404.php.<br />
<br />
Ahora vamos a crear la página 404.php, que a continuación diré lo que hace.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #cc3333;" class="mycode_color">404.php</span></span><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">&lt;</span><span style="color: #0000BB">html</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Entrada&nbsp;de&nbsp;enlaces</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">meta&nbsp;charset</span><span style="color: #007700">=</span><span style="color: #DD0000">"UTF-8"</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">script&nbsp;language</span><span style="color: #007700">=</span><span style="color: #DD0000">"JavaScript"</span><span style="color: #007700">&gt;<br />function&nbsp;</span><span style="color: #0000BB">enviar</span><span style="color: #007700">()<br />{<br /></span><span style="color: #0000BB">document</span><span style="color: #007700">.</span><span style="color: #0000BB">form</span><span style="color: #007700">.</span><span style="color: #0000BB">submit</span><span style="color: #007700">();<br />}<br />&lt;/</span><span style="color: #0000BB">script</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">body&nbsp;onload</span><span style="color: #007700">=</span><span style="color: #DD0000">"enviar()"</span><span style="color: #007700">&gt;<br />&lt;?</span><span style="color: #0000BB">php<br />&#36;url&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB"> </span><span style="color: #DD0000">"</span><span style="color: #007700">{</span><span style="color: #0000BB">&#36;_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'REQUEST_URI'</span><span style="color: #007700">]}</span><span style="color: #DD0000">"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;resultado&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;url</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;form&nbsp;method="POST"&nbsp;action="curl/redireccionar.php"&nbsp;name="form"&gt;<br />&lt;p&gt;&lt;input&nbsp;type="text"&nbsp;value="<span style="color: #0000BB">&lt;?php&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #0000BB">&#36;resultado</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">?&gt;</span>"&nbsp;name="nombre"&gt;&lt;/p&gt;<br />&lt;p&gt;&lt;input&nbsp;type="submit"&nbsp;value="Enviar"&nbsp;name="B1"&gt;&lt;/p&gt;<br />&lt;/form&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;&nbsp;<br /></code></div></div></div><br />
<br />
Esta página lo que hace es eliminar de la dirección web todo lo que vaya antes de la barra "/", en nuestro caso quedaría <span style="font-weight: bold;" class="mycode_b">pepico </span>y lo envía directamente a otra página que luego vamos a crear, redireccionar.php, la cual estará dentro del directorio curl.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #cc3333;" class="mycode_color">redireccionar.php</span></span><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">&lt;</span><span style="color: #0000BB">html</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Entrada&nbsp;de&nbsp;enlaces</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">meta&nbsp;charset</span><span style="color: #007700">=</span><span style="color: #DD0000">"ISO-8859-1"&nbsp;</span><span style="color: #007700">/&gt;<br />&lt;/</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">body</span><span style="color: #007700">&gt;<br />&lt;?</span><span style="color: #0000BB">php<br /></span><span style="color: #007700">include(</span><span style="color: #DD0000">"conex.php"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;consulta&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"SELECT&nbsp;nombre,&nbsp;ip,&nbsp;DATE_FORMAT(fecha,&nbsp;'Con&nbsp;fecha:&nbsp;%d/%m/%y&nbsp;y&nbsp;hora:&nbsp;%H:%i:%s')&nbsp;AS&nbsp;fecha&nbsp;FROM&nbsp;datos&nbsp;WHERE&nbsp;nombre&nbsp;=&nbsp;'"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">"nombre"</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">"'&nbsp;ORDER&nbsp;BY&nbsp;id&nbsp; DESC&nbsp;LIMIT&nbsp;1"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;resultado&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;conexion&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;consulta</span><span style="color: #007700">);<br />&nbsp;<br />if&nbsp;(</span><span style="color: #0000BB">&#36;fila&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;resultado&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">fetch_array</span><span style="color: #007700">())<br />{&nbsp;<br />echo&nbsp;</span><span style="color: #DD0000">"&lt;script&nbsp;language=&#092;"javascript&#092;"&gt;window.location.href=&#092;"http://"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;fila</span><span style="color: #007700">[</span><span style="color: #DD0000">"ip"</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">"&#092;";&lt;/script&gt;"</span><span style="color: #007700">;<br />}<br />else&nbsp;{<br />echo&nbsp;</span><span style="color: #DD0000">"NO&nbsp;encontrado"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">mysqli_free_result</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;resultado</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">mysqli_close</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;conexion</span><span style="color: #007700">);<br /><br /><br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;/body&gt;<br />&lt;/html&gt;&nbsp;<br /></code></div></div></div><br />
<br />
Esta página lo que hace es buscar en la base de datos la última ip registrada del usuario que queremos, en este caso <span style="font-weight: bold;" class="mycode_b">pepico</span> , y nos redirecciona directamente a esa ip. Si ese usuario no existe o nos equivocamos al escribir la dirección, la página actuará como una página 404 y nos mostrará un mensaje de "no encontrada".<br />
<br />
Todo el proceso, desde que pones la dirección en el navegador hasta que te redirecciona a la ip de tu servidor local es limpio y automático.<br />
<br />
<br />
Bueno, espero que le sirva a alguien de ayuda.<br />
<br />
Saludos.]]></description>
			<content:encoded><![CDATA[Saludos amigos.<br />
<br />
Si tenemos un servidor montado en casa y nuestro proveedor de internet no nos facilita una IP fija tendremos la necesidad de saber en todo momento nuestra IP pública. Vamos a montar un servicio tipo no-ip o DynDNS.<br />
<br />
El servicio consta de dos partes, una en nuestro ordenador y por otra parte necesitaremos un servidor de internet, por ejemplo, si no tenemos un servicio de hosting, <a href="https://www.hostinger.es/" target="_blank" rel="noopener" class="mycode_url">https://www.hostinger.es/</a> , nos ofrece de forma gratuita todo lo que necesitamos, 2 GB de almacenamiento, php y bases de datos MySQL. <br />
<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #3333ff;" class="mycode_color">EN NUESTRO ORDENADOR</span></span><br />
<br />
Tengo que aclarar que lo que explico a continuación lo he hecho bajo un sistema linux.<br />
<br />
En  primer lugar crearemos un directorio en el servidor de nuestro pc, yo lo he llamado curl, la ruta sería /var/www/html/curl.<br />
<br />
Abrimos nuestro editor de texto favorito y escribimos<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>#!/bin/bash<br />
curl -d "value1=pepico" http://midominio.com/curl/index.php</code></div></div><br />
<br />
Lo guardamos con el nombre 1.sh, por ejemplo, y le damos permisos de ejecución. En la última linea cambiar midominio.com por el de nuestro servidor de hosting, también, donde vemos value1=pepico. cambiamos el nombre por el que queramos.<br />
<br />
Este script lo que hace es enviar el nombre de usuario a nuestra página index.php del servidor de hosting mediante el método post.<br />
<br />
Ahora vamos a editar crontab para que nuestro script se ejecute cada dos horas. Abrimos un terminal y escribimos <br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>sudo gedit /etc/crontab</code></div></div><br />
<br />
y en crontab añadimos esta línea<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>0 */2&nbsp;&nbsp;&nbsp;&nbsp;* * *&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp;&nbsp;&nbsp;/var/www/html/curl/1.sh</code></div></div><br />
<br />
guardamos y cerramos. Como hemos dicho, ésto hará que nuestro script se ejecute cada dos horas.<br />
<br />
Ya hemos terminado en nuestro PC, ahora iremos a nuestro servidor de hosting.<br />
<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #3333ff;" class="mycode_color">EN NUESTRO SERVIDOR DE HOSTING</span></span> <br />
<br />
Deberemos crear una base de datos MySQL con nombre curl, con una tabla llamada datos y 4 columnas, id (int, primary key, auto_increment), nombre (varchar 50), ip (varchar 50) y fecha (timestamp, CURRENT_TIMESTAMP)<br />
<br />
Ahora vamos a crear la página index que recogerá los datos que le hemos enviado antes por el script bash y los introducirá en nuestra base de datos. Paso previo es crear también una página conex.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #cc3333;" class="mycode_color">conex.php</span></span><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;hostname&nbsp;o&nbsp;ip&nbsp;del&nbsp;servidor&nbsp;de&nbsp;Base&nbsp;Datos<br /></span><span style="color: #0000BB">&#36;bd_host</span><span style="color: #007700">=</span><span style="color: #DD0000">'localhost'</span><span style="color: #007700">;<br />&nbsp;<br /></span><span style="color: #FF8000">//&nbsp;nombre&nbsp;de&nbsp;usuario&nbsp;<br /></span><span style="color: #0000BB">&#36;bd_usuario</span><span style="color: #007700">=</span><span style="color: #DD0000">'usuario'</span><span style="color: #007700">;<br />&nbsp;<br /></span><span style="color: #FF8000">//&nbsp;la&nbsp;contraseña&nbsp;para&nbsp;la&nbsp;BBDD&nbsp; <br /></span><span style="color: #0000BB">&#36;bd_password</span><span style="color: #007700">=</span><span style="color: #DD0000">'contraseña'</span><span style="color: #007700">;<br />&nbsp;<br /></span><span style="color: #FF8000">//&nbsp;nombre&nbsp;del&nbsp;BBDD<br /></span><span style="color: #0000BB">&#36;bd_base</span><span style="color: #007700">=</span><span style="color: #DD0000">'curl'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;conexion&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">mysqli</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;bd_host</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;bd_usuario</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;bd_password</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;bd_base</span><span style="color: #007700">);<br />&nbsp;<br />if&nbsp;(</span><span style="color: #0000BB">&#36;conexion</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">connect_errno</span><span style="color: #007700">)&nbsp;<br />{<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;se&nbsp;pudo&nbsp;conectar&nbsp;a&nbsp;la&nbsp;Base&nbsp;Datos:&nbsp;("&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;mysqli</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">connect_errno&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">")&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;mysqli</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">connect_error</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div><br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #cc3333;" class="mycode_color">index.php</span></span> <br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">include(</span><span style="color: #DD0000">"conex.php"</span><span style="color: #007700">);<br />if(</span><span style="color: #0000BB">&#36;_POST</span><span style="color: #007700">)<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; </span><span style="color: #007700">{<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;&#36;queryInsert&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"INSERT&nbsp;INTO&nbsp;datos&nbsp;(nombre,&nbsp;ip)&nbsp;VALUES&nbsp;('"</span><span style="color: #007700">.</span><span style="color: #0000BB">&#36;_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'value1'</span><span style="color: #007700">].</span><span style="color: #DD0000">"',&nbsp;'"</span><span style="color: #007700">.</span><span style="color: #0000BB">&#36;_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'REMOTE_ADDR'</span><span style="color: #007700">].</span><span style="color: #DD0000">"');"</span><span style="color: #007700">;<br />&nbsp;<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;&#36;resultInsert&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysqli_query</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;conexion</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;queryInsert</span><span style="color: #007700">);&nbsp;<br />&nbsp;<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">if(</span><span style="color: #0000BB">&#36;resultInsert</span><span style="color: #007700">)<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">{<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo&nbsp;</span><span style="color: #DD0000">"&lt;strong&gt;Se&nbsp;ingresaron&nbsp;los&nbsp;registros&nbsp;con&nbsp;exito&lt;/strong&gt;.&nbsp;&lt;br&gt;"</span><span style="color: #007700">;<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">}<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">else<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">{<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;se&nbsp;ingresaron&nbsp;los&nbsp;registros.&nbsp;&lt;br&gt;"</span><span style="color: #007700">;<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">}<br />&nbsp;<br />&nbsp;</span><span style="color: #0000BB"> &nbsp; &nbsp; </span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span></code></div></div></div><br />
<br />
Con esto ya tenemos nuestra última ip metida en la base de datos.<br />
<br />
Ahora vamos a crear dos sencillas páginas para saber cual es nuestra actual ip pública de nuestro PC, buscar.php y encontrado.php.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #cc3333;" class="mycode_color">buscar.php</span></span><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">&lt;</span><span style="color: #0000BB">html</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Entrada&nbsp;de&nbsp;enlaces</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">meta&nbsp;http</span><span style="color: #007700">-</span><span style="color: #0000BB">equiv</span><span style="color: #007700">=</span><span style="color: #DD0000">"Content-Type"&nbsp;</span><span style="color: #0000BB">content</span><span style="color: #007700">=</span><span style="color: #DD0000">"text/html;&nbsp;charset=ISO-8859-1"</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br /><br />&lt;</span><span style="color: #0000BB">body</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">form&nbsp;action</span><span style="color: #007700">=</span><span style="color: #DD0000">"encontrado.php"&nbsp;</span><span style="color: #0000BB">method</span><span style="color: #007700">=</span><span style="color: #DD0000">"post"</span><span style="color: #007700">&gt;<br />&nbsp;</span><span style="color: #0000BB"> Nombre</span><span style="color: #007700">:&lt;</span><span style="color: #0000BB">br</span><span style="color: #007700">&gt;<br />&nbsp;</span><span style="color: #0000BB"> </span><span style="color: #007700">&lt;</span><span style="color: #0000BB">input&nbsp;type</span><span style="color: #007700">=</span><span style="color: #DD0000">"text"&nbsp;</span><span style="color: #0000BB">name</span><span style="color: #007700">=</span><span style="color: #DD0000">"nombre"</span><span style="color: #007700">&gt;&lt;</span><span style="color: #0000BB">br</span><span style="color: #007700">&gt;&lt;</span><span style="color: #0000BB">br</span><span style="color: #007700">&gt;<br />&nbsp;</span><span style="color: #0000BB"> </span><span style="color: #007700">&lt;</span><span style="color: #0000BB">input&nbsp;type</span><span style="color: #007700">=</span><span style="color: #DD0000">"submit"&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">=</span><span style="color: #DD0000">"Submit"</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">form</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">body</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">html</span><span style="color: #007700">&gt;&nbsp;<br /></span></code></div></div></div><br />
<br />
Nos mostrará un sencillo formulario donde debemos poner nuestro nombre de usuario que está en el script bash.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #cc3333;" class="mycode_color">encontrado.php </span></span><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">&lt;</span><span style="color: #0000BB">html</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Entrada&nbsp;de&nbsp;enlaces</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">meta&nbsp;charset</span><span style="color: #007700">=</span><span style="color: #DD0000">"UTF-8"</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">body</span><span style="color: #007700">&gt;<br />&lt;?</span><span style="color: #0000BB">php<br /></span><span style="color: #007700">include(</span><span style="color: #DD0000">"conex.php"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;consulta&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"SELECT&nbsp;nombre,&nbsp;ip,&nbsp;DATE_FORMAT(fecha,&nbsp;'Con&nbsp;fecha:&nbsp;%d/%m/%y&nbsp;y&nbsp;hora:&nbsp;%H:%i:%s')&nbsp;AS&nbsp;fecha&nbsp;FROM&nbsp;datos&nbsp;WHERE&nbsp;nombre&nbsp;=&nbsp;'"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">"nombre"</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">"'&nbsp;ORDER&nbsp;BY&nbsp;id&nbsp; DESC&nbsp;LIMIT&nbsp;1"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;resultado&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;conexion&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;consulta</span><span style="color: #007700">);<br />echo&nbsp;</span><span style="color: #DD0000">"&lt;span&nbsp;style='color:&nbsp;blue;'&gt;Extracción&nbsp;de&nbsp;último&nbsp;dato&nbsp;...&lt;/span&gt;&nbsp;&lt;br&gt;&lt;br&gt;"</span><span style="color: #007700">;<br />while(</span><span style="color: #0000BB">&#36;fila&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;resultado&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">fetch_array</span><span style="color: #007700">())<br />{<br />echo&nbsp;</span><span style="color: #DD0000">"Usuario:&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;fila</span><span style="color: #007700">[</span><span style="color: #DD0000">"nombre"</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">"&lt;br&gt;"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"Última&nbsp;IP&nbsp;asignada:&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;fila</span><span style="color: #007700">[</span><span style="color: #DD0000">"ip"</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">"&lt;br&gt;"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">""&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;fila</span><span style="color: #007700">[</span><span style="color: #DD0000">"fecha"</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">"&lt;br&gt;&lt;hr&gt;"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">mysqli_free_result</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;resultado</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">mysqli_close</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;conexion</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;/body&gt;<br />&lt;/html&gt;&nbsp;<br /></code></div></div></div><br />
<br />
Nos mostrará la última ip pública que tenemos asignada y a que fecha y hora se captó.<br />
<br />
<blockquote class="mycode_quote"><cite>Cita:</cite>Extracción de último dato ... <br />
<br />
Usuario: pepico<br />
Última IP asignada: 11.111.11.111<br />
Con fecha: 29/04/17 y hora: 18:00:02</blockquote>
<br />
<br />
<br />
Todo esto está bien, pero queremos algo mas, no tener que ir a un formulario para saber nuestra ip, lo que queremos es poner en el navegador una dirección y que nos redireccione a nuestro servidor local, una dirección tipo "<span style="font-weight: bold;" class="mycode_b">midominio.com/pepico</span>". Recordad que pepico era nuestro usuario con el que se guardaban las ip de nuestro servidor local.<br />
<br />
Bien, como al poner esa dirección en el navegador, el directorio <span style="font-weight: bold;" class="mycode_b">pepico </span>no existe, el servidor nos enviará un error 404, página no encontrada. Vamos a crear una página de error 404 tuneada por nosotros.<br />
<br />
Antes de nada vamos a tener que tocar el archivo .htaccess para que cuando se de el error 404 nos muestre nuestra página 404. Abrimos el archivo .htaccess y añadimos la linea<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>ErrorDocument 404 /404.php</code></div></div> <br />
Con esto le decimos que cuando se produzca el error 404 nos muestre la página 404.php.<br />
<br />
Ahora vamos a crear la página 404.php, que a continuación diré lo que hace.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #cc3333;" class="mycode_color">404.php</span></span><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">&lt;</span><span style="color: #0000BB">html</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Entrada&nbsp;de&nbsp;enlaces</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">meta&nbsp;charset</span><span style="color: #007700">=</span><span style="color: #DD0000">"UTF-8"</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">script&nbsp;language</span><span style="color: #007700">=</span><span style="color: #DD0000">"JavaScript"</span><span style="color: #007700">&gt;<br />function&nbsp;</span><span style="color: #0000BB">enviar</span><span style="color: #007700">()<br />{<br /></span><span style="color: #0000BB">document</span><span style="color: #007700">.</span><span style="color: #0000BB">form</span><span style="color: #007700">.</span><span style="color: #0000BB">submit</span><span style="color: #007700">();<br />}<br />&lt;/</span><span style="color: #0000BB">script</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">body&nbsp;onload</span><span style="color: #007700">=</span><span style="color: #DD0000">"enviar()"</span><span style="color: #007700">&gt;<br />&lt;?</span><span style="color: #0000BB">php<br />&#36;url&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB"> </span><span style="color: #DD0000">"</span><span style="color: #007700">{</span><span style="color: #0000BB">&#36;_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'REQUEST_URI'</span><span style="color: #007700">]}</span><span style="color: #DD0000">"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;resultado&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;url</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;form&nbsp;method="POST"&nbsp;action="curl/redireccionar.php"&nbsp;name="form"&gt;<br />&lt;p&gt;&lt;input&nbsp;type="text"&nbsp;value="<span style="color: #0000BB">&lt;?php&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #0000BB">&#36;resultado</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">?&gt;</span>"&nbsp;name="nombre"&gt;&lt;/p&gt;<br />&lt;p&gt;&lt;input&nbsp;type="submit"&nbsp;value="Enviar"&nbsp;name="B1"&gt;&lt;/p&gt;<br />&lt;/form&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;&nbsp;<br /></code></div></div></div><br />
<br />
Esta página lo que hace es eliminar de la dirección web todo lo que vaya antes de la barra "/", en nuestro caso quedaría <span style="font-weight: bold;" class="mycode_b">pepico </span>y lo envía directamente a otra página que luego vamos a crear, redireccionar.php, la cual estará dentro del directorio curl.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #cc3333;" class="mycode_color">redireccionar.php</span></span><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Código PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #007700">&lt;</span><span style="color: #0000BB">html</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Entrada&nbsp;de&nbsp;enlaces</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">title</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">meta&nbsp;charset</span><span style="color: #007700">=</span><span style="color: #DD0000">"ISO-8859-1"&nbsp;</span><span style="color: #007700">/&gt;<br />&lt;/</span><span style="color: #0000BB">head</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">body</span><span style="color: #007700">&gt;<br />&lt;?</span><span style="color: #0000BB">php<br /></span><span style="color: #007700">include(</span><span style="color: #DD0000">"conex.php"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;consulta&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"SELECT&nbsp;nombre,&nbsp;ip,&nbsp;DATE_FORMAT(fecha,&nbsp;'Con&nbsp;fecha:&nbsp;%d/%m/%y&nbsp;y&nbsp;hora:&nbsp;%H:%i:%s')&nbsp;AS&nbsp;fecha&nbsp;FROM&nbsp;datos&nbsp;WHERE&nbsp;nombre&nbsp;=&nbsp;'"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">"nombre"</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">"'&nbsp;ORDER&nbsp;BY&nbsp;id&nbsp; DESC&nbsp;LIMIT&nbsp;1"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;resultado&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;conexion&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;consulta</span><span style="color: #007700">);<br />&nbsp;<br />if&nbsp;(</span><span style="color: #0000BB">&#36;fila&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;resultado&nbsp;</span><span style="color: #007700">-&gt;&nbsp;</span><span style="color: #0000BB">fetch_array</span><span style="color: #007700">())<br />{&nbsp;<br />echo&nbsp;</span><span style="color: #DD0000">"&lt;script&nbsp;language=&#092;"javascript&#092;"&gt;window.location.href=&#092;"http://"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;fila</span><span style="color: #007700">[</span><span style="color: #DD0000">"ip"</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">"&#092;";&lt;/script&gt;"</span><span style="color: #007700">;<br />}<br />else&nbsp;{<br />echo&nbsp;</span><span style="color: #DD0000">"NO&nbsp;encontrado"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">mysqli_free_result</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;resultado</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">mysqli_close</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;conexion</span><span style="color: #007700">);<br /><br /><br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;/body&gt;<br />&lt;/html&gt;&nbsp;<br /></code></div></div></div><br />
<br />
Esta página lo que hace es buscar en la base de datos la última ip registrada del usuario que queremos, en este caso <span style="font-weight: bold;" class="mycode_b">pepico</span> , y nos redirecciona directamente a esa ip. Si ese usuario no existe o nos equivocamos al escribir la dirección, la página actuará como una página 404 y nos mostrará un mensaje de "no encontrada".<br />
<br />
Todo el proceso, desde que pones la dirección en el navegador hasta que te redirecciona a la ip de tu servidor local es limpio y automático.<br />
<br />
<br />
Bueno, espero que le sirva a alguien de ayuda.<br />
<br />
Saludos.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Ejecutar python desde php.]]></title>
			<link>https://chujalt.com/thread-24.html</link>
			<pubDate>Sun, 07 Mar 2021 19:51:44 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://chujalt.com/member.php?action=profile&uid=1">chujalt</a>]]></dc:creator>
			<guid isPermaLink="false">https://chujalt.com/thread-24.html</guid>
			<description><![CDATA[Saludos<br />
<br />
Vamos a ejecutar un programa python desde php e imprimir las salidas que tengan dicho programa.<br />
<br />
Primero el programa python, como veréis es muy sencillo, sólo imprime unas lineas, asigna un valor a una variable y la imprime <br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>#! /usr/bin/env python<br />
print ("Soy Python me han llamado desde PHP. Linea 1")<br />
print ("Soy Python me han llamado desde PHP. Linea 2")<br />
print ("Soy Python me han llamado desde PHP. Linea 3")<br />
print ("Soy Python me han llamado desde PHP. Linea 4")<br />
print ("Soy Python me han llamado desde PHP. Linea 5")<br />
print ("Soy Python me han llamado desde PHP. Linea 6")<br />
print ("Soy Python me han llamado desde PHP. Linea 7")<br />
print ("Soy Python me han llamado desde PHP. Linea 8")<br />
print ("Soy Python me han llamado desde PHP. Linea 9")<br />
print ("Soy Python me han llamado desde PHP. Linea 10")<br />
<br />
pepe = "Hola soy Pepe"<br />
print (pepe)</code></div></div><br />
<br />
Bien, ahora supongamos que queremos imprimir desde php la salida que pone "<span style="color: #3333cc;" class="mycode_color">print ("Soy Python me han llamado desde PHP. Linea 4")</span>". Entonces en nuestro código php deberíamos poner<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>&lt;?php<br />
&#36;salida = array(); //contendrá cada linea salida desde la aplicación en Python<br />
exec("python /var/www/html/phppython/contar.py", &#36;salida);<br />
echo &#36;salida[3]."&lt;br&gt;";&nbsp;&nbsp;&nbsp;&nbsp;}<br />
?&gt;</code></div></div><br />
<br />
Lo que nos daría un resultado de <br />
<br />
<blockquote class="mycode_quote"><cite>Cita:</cite>Soy Python me han llamado desde PHP. Linea 4</blockquote>
<br />
Fijaros que en la última línea php he puesto &#36;salida[3], acordaros que los arrays empiezan por el cero.<br />
<br />
Si quisiéramos imprimir todas las salidas del programa python deberíamos hacer un bucle for<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>&lt;?php<br />
&#36;salida = array(); //contendrá cada linea salida desde la aplicación en Python<br />
exec("python /var/www/html/phppython/contar.py", &#36;salida);<br />
for(&#36;i = 0; &#36;i &lt; count(&#36;salida); &#36;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &#36;salida[&#36;i]."&lt;br&gt;";<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
?&gt;</code></div></div><br />
Lo que nos daría un resultado<br />
<br />
<blockquote class="mycode_quote"><cite>Cita:</cite>Soy Python me han llamado desde PHP. Linea 1<br />
Soy Python me han llamado desde PHP. Linea 2<br />
Soy Python me han llamado desde PHP. Linea 3<br />
Soy Python me han llamado desde PHP. Linea 4<br />
Soy Python me han llamado desde PHP. Linea 5<br />
Soy Python me han llamado desde PHP. Linea 6<br />
Soy Python me han llamado desde PHP. Linea 7<br />
Soy Python me han llamado desde PHP. Linea 8<br />
Soy Python me han llamado desde PHP. Linea 9<br />
Soy Python me han llamado desde PHP. Linea 10<br />
Hola soy Pepe</blockquote>
<br />
<br />
Bueno, ya está, espero que le sirva a alguien<br />
<br />
Saludos.]]></description>
			<content:encoded><![CDATA[Saludos<br />
<br />
Vamos a ejecutar un programa python desde php e imprimir las salidas que tengan dicho programa.<br />
<br />
Primero el programa python, como veréis es muy sencillo, sólo imprime unas lineas, asigna un valor a una variable y la imprime <br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>#! /usr/bin/env python<br />
print ("Soy Python me han llamado desde PHP. Linea 1")<br />
print ("Soy Python me han llamado desde PHP. Linea 2")<br />
print ("Soy Python me han llamado desde PHP. Linea 3")<br />
print ("Soy Python me han llamado desde PHP. Linea 4")<br />
print ("Soy Python me han llamado desde PHP. Linea 5")<br />
print ("Soy Python me han llamado desde PHP. Linea 6")<br />
print ("Soy Python me han llamado desde PHP. Linea 7")<br />
print ("Soy Python me han llamado desde PHP. Linea 8")<br />
print ("Soy Python me han llamado desde PHP. Linea 9")<br />
print ("Soy Python me han llamado desde PHP. Linea 10")<br />
<br />
pepe = "Hola soy Pepe"<br />
print (pepe)</code></div></div><br />
<br />
Bien, ahora supongamos que queremos imprimir desde php la salida que pone "<span style="color: #3333cc;" class="mycode_color">print ("Soy Python me han llamado desde PHP. Linea 4")</span>". Entonces en nuestro código php deberíamos poner<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>&lt;?php<br />
&#36;salida = array(); //contendrá cada linea salida desde la aplicación en Python<br />
exec("python /var/www/html/phppython/contar.py", &#36;salida);<br />
echo &#36;salida[3]."&lt;br&gt;";&nbsp;&nbsp;&nbsp;&nbsp;}<br />
?&gt;</code></div></div><br />
<br />
Lo que nos daría un resultado de <br />
<br />
<blockquote class="mycode_quote"><cite>Cita:</cite>Soy Python me han llamado desde PHP. Linea 4</blockquote>
<br />
Fijaros que en la última línea php he puesto &#36;salida[3], acordaros que los arrays empiezan por el cero.<br />
<br />
Si quisiéramos imprimir todas las salidas del programa python deberíamos hacer un bucle for<br />
<br />
<div class="codeblock"><div class="title">Código:</div><div class="body" dir="ltr"><code>&lt;?php<br />
&#36;salida = array(); //contendrá cada linea salida desde la aplicación en Python<br />
exec("python /var/www/html/phppython/contar.py", &#36;salida);<br />
for(&#36;i = 0; &#36;i &lt; count(&#36;salida); &#36;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &#36;salida[&#36;i]."&lt;br&gt;";<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
?&gt;</code></div></div><br />
Lo que nos daría un resultado<br />
<br />
<blockquote class="mycode_quote"><cite>Cita:</cite>Soy Python me han llamado desde PHP. Linea 1<br />
Soy Python me han llamado desde PHP. Linea 2<br />
Soy Python me han llamado desde PHP. Linea 3<br />
Soy Python me han llamado desde PHP. Linea 4<br />
Soy Python me han llamado desde PHP. Linea 5<br />
Soy Python me han llamado desde PHP. Linea 6<br />
Soy Python me han llamado desde PHP. Linea 7<br />
Soy Python me han llamado desde PHP. Linea 8<br />
Soy Python me han llamado desde PHP. Linea 9<br />
Soy Python me han llamado desde PHP. Linea 10<br />
Hola soy Pepe</blockquote>
<br />
<br />
Bueno, ya está, espero que le sirva a alguien<br />
<br />
Saludos.]]></content:encoded>
		</item>
	</channel>
</rss>