sep
11
2009

Scripts útiles en PHP

recursos php gratis

Scripts en PHP


Pues navegando me encontre con varios codigos muy utiles para los que utilizan php. Espero que les sirva y aqui les van:

1º Para enviar mails

1
2
3
4
5
6
7
8
9
10
11
12
$to = "lalo@gmail.com";
$subject = "lalo";
$body = "Body of your message here you can use HTML too. e.g.
 <strong> Bold </strong>";
$headers = "From: Peter\r\n";
$headers .= "Reply-To: info@yoursite.com\r\n";
$headers .= "Return-Path: info@yoursite.com\r\n";
$headers .= "X-Mailer: PHP5\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail($to,$subject,$body,$headers);
?&gt;

2º Para tener una ip remota

1
2
3
4
function getRemoteIPAddress() {
	$ip = $_SERVER['REMOTE_ADDR'];
	return $ip;
}

3º Convertir numeros a letras

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
"Cero",
     1 =&gt; "UN",
     "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE",
     "OCHO", "NUEVE",  "DIEZ", "ONCE", "DOCE", "TRECE",
     "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO",
     "DIECINUEVE",  "VEINTI", 30 =&gt; "TREINTA", 40 =&gt; "CUARENTA",
     50 =&gt; "CINCUENTA", 60 =&gt; "SESENTA", 70 =&gt; "SETENTA", 80 =&gt;
     "OCHENTA", 90 =&gt; "NOVENTA",  100 =&gt; "CIENTO", 200 =&gt; "DOSCIENTOS",
     300 =&gt; "TRESCIENTOS", 400 =&gt; "CUATROCIENTOS", 500 =&gt; "QUINIENTOS",
     600 =&gt; "SEISCIENTOS", 700 =&gt; "SETECIENTOS", 800 =&gt; "OCHOCIENTOS",
     900 =&gt; "NOVECIENTOS" );
 // $xcifra = trim($xcifra);
 $xlength = strlen($xcifra);
 $xpos_punto = strpos($xcifra, ".");
 $xaux_int = $xcifra;
 $xdecimales = "00";
 if ($xpos_punto &gt; 0)  {
  $xaux_int = substr($xcifra, 0, $xpos_punto);
  // obtengo el entero de la cifra a covertir
  $xdecimales = substr($xcifra."00", $xpos_punto + 1, 2);
  // obtengo los valores decimales
 }
 $XAUX = str_pad($xaux_int, 18, " ", STR_PAD_LEFT);
 // ajusto la longitud de la cifra, para que sea divisible por centenas de miles (grupos de 6)
 $xcadena = "";
 for($xz = 0; $xz &lt; 3; $xz++)  {
  $xaux = substr($XAUX, $xz * 6, 6);
  $xi = 0;
  $xlimite = 6;
  // inicializo el contador de centenas xi y establezco el límite a 6 dígitos en la parte entera
  $xexit = true;
  // bandera para controlar el ciclo del While
  while ($xexit)   {
   if ($xi == $xlimite)
   // si ya llegó al limite máximo de enteros
   {
    break;
    // termina el ciclo
   }
   $x3digitos = ($xlimite - $xi) * -1;
   // comienzo con los tres primeros digitos de la cifra, comenzando por la izquierda
   $xaux = substr($xaux, $x3digitos, abs($x3digitos));
   // obtengo la centena (los tres dígitos)
   for ($xy = 1; $xy &lt; 4; $xy++)
   // ciclo para revisar centenas, decenas y unidades, en ese orden
   {
    switch ($xy){
     case 1: // checa las centenas
      if (substr($xaux, 0, 3) &lt; 100)
       // si el grupo de tres dígitos es menor a una centena ( &lt; 99) no hace nada y pasa a revisar las decenas
       {       }
      else{
       $xseek = $xarray[substr($xaux, 0, 3)];
       // busco si la centena es número redondo (100, 200, 300, 400, etc..)
       if ($xseek){
        $xsub = subfijo($xaux); // devuelve el subfijo correspondiente (Millón, Millones, Mil o nada)
        if (substr($xaux, 0, 3) == 100)
         $xcadena = " ".$xcadena." CIEN ".$xsub;
        else
         $xcadena = " ".$xcadena." ".$xseek." ".$xsub;
        $xy = 3;
        // la centena fue redonda, entonces termino el ciclo del for y ya no reviso decenas ni unidades
       }else // entra aquí si la centena no fue numero redondo (101, 253, 120, 980, etc.)
       {
        $xseek = $xarray[substr($xaux, 0, 1) * 100];
        // toma el primer caracter de la centena y lo multiplica por cien y lo busca en el arreglo (para que busque 100,200,300, etc)
        $xcadena = " ".$xcadena." ".$xseek;
       } // ENDIF ($xseek)
      } // ENDIF (substr($xaux, 0, 3) &lt; 100)
      break;
     case 2: // checa las decenas (con la misma lógica que las centenas)
      if (substr($xaux, 1, 2) &lt; 10){       
 
      }else{
       $xseek = $xarray[substr($xaux, 1, 2)];
       if ($xseek){
        $xsub = subfijo($xaux);
        if (substr($xaux, 1, 2) == 20)
         $xcadena = " ".$xcadena." VEINTE ".$xsub;
        else
         $xcadena = " ".$xcadena." ".$xseek." ".$xsub;
        $xy = 3;
       }else{
        $xseek = $xarray[substr($xaux, 1, 1) * 10];
        if (substr($xaux, 1, 1) * 10 == 20)
         $xcadena = " ".$xcadena." ".$xseek;
        else
         $xcadena = " ".$xcadena." ".$xseek." Y ";
       } // ENDIF ($xseek)
      } // ENDIF (substr($xaux, 1, 2) &lt; 10)
      break;
     case 3: // checa las unidades
      if (substr($xaux, 2, 1) &lt; 1) // si la unidad es cero, ya no hace nada
      {
      }else{
       $xseek = $xarray[substr($xaux, 2, 1)];
       // obtengo directamente el valor de la unidad (del uno al nueve)
       $xsub = subfijo($xaux);
       $xcadena = " ".$xcadena." ".$xseek." ".$xsub;
      } // ENDIF (substr($xaux, 2, 1) &lt; 1)
      break;
     } // END SWITCH
    } // END FOR
    $xi = $xi + 3;
   } // ENDDO
   if (substr($xcadena, -6, 6) == "MILLON") // si la cadena obtenida termina en MILLON, entonces le agrega al fina la palabra DE
    $xcadena.= " DE";
   if (substr($xcadena, -8, 8) == "MILLONES") // si la cadena obtenida en MILLONES, entoncea le agrega al fina la palabra DE
    $xcadena.= " DE";      // ----------- esta línea la puedes cambiar de acuerdo a tus necesidades o a tu país -------
   if (trim($xaux) != ""){
    switch ($xz){
     case 0:
      if (trim(substr($XAUX, $xz * 6, 6)) == "1")
       $xcadena.= "UN BILLON ";
      else
       $xcadena.= " BILLONES ";
      break;
     case 1:
      if (trim(substr($XAUX, $xz * 6, 6)) == "1")
       $xcadena.= "UN MILLON ";
      else
       $xcadena.= " MILLONES ";
      break;
     case 2:
      if ($xcifra &lt; 1 ){               $xcadena = "CERO PESOS $xdecimales/100 M.N.";              }             if ($xcifra &gt;= 1 &amp;&amp; $xcifra &lt; 2){               $xcadena = "UN PESO $xdecimales/100 M.N. ";              }             if ($xcifra &gt;= 2){
       $xcadena.= " PESOS $xdecimales/100 M.N. "; //
      }
      break;
    } // endswitch ($xz)
   } // ENDIF (trim($xaux) != "")
   // ------------------      en este caso, para México se usa esta leyenda     ----------------
   $xcadena = str_replace("VEINTI ", "VEINTI", $xcadena);
   // quito el espacio para el VEINTI, para que quede: VEINTICUATRO, VEINTIUN, VEINTIDOS, etc
   $xcadena = str_replace("  ", " ", $xcadena); // quito espacios dobles
   $xcadena = str_replace("UN UN", "UN", $xcadena); // quito la duplicidad
   $xcadena = str_replace("  ", " ", $xcadena); // quito espacios dobles
   $xcadena = str_replace("BILLON MILLONES", "BILLON", $xcadena); // corrigo la leyenda
   $xcadena = str_replace("BILLONES MILLONES", "BILLONES", $xcadena); // corrigo la leyenda
  } // ENDFOR ($xz)  return trim($xcadena);
 } // END FUNCTION   
 
 function subfijo($xx)  {
  // esta función regresa un subfijo para la cifra
  $xx = trim($xx);
  $xstrlen = strlen($xx);
  if ($xstrlen == 1 || $xstrlen == 2 || $xstrlen == 3)
   $xsub = "";  //
  if ($xstrlen == 4 || $xstrlen == 5 || $xstrlen == 6)
   $xsub = "MIL";  //
  return $xsub;
 } // END FUNCTION
?&gt;

4º Enviar un email HTML como php

Enviar un e-mail con PHP es muy sencillo, tan solo tenemos que utilizar la función mail.
 Pero cuando escribimos código HTML en el cuerpo del mensaje, este lo recibimos como texto y no como una página web, como querríamos.
 Esto tiene facil solución, solo necesitamos añadir la cabecera “Content-type: text/html” en el e-mail y el código que enviemos se interpretará como HTML. Veamos como:

1
2
3
4
5
6
7
8
                  E-Mail HTML
 
                   <a href="http://www.zoneartcss.com">Ir a Codigos Utiles</a><a>';
$email = 'pepito@grillo.com';
$asunto = 'E-Mail HTML';
$cabeceras = "Content-type: text/html\r\n";  mail($email,$asunto,$codigohtml,$cabeceras);
?&gt;
</a>

De esta forma, los e-mails que enviemos se verán como una página Web. En las cabeceras podemos añadir otras cosas, como por ejemplo si queremos especificar quien envía el e-mail haremos:

1
2
<a>$cabeceras = "From: direccion@email.dom\r\nContent-type: text/html\r\n";
</a>

Bueno eso es lo que eh podido encontrar ya que no uso el php.

About the Author:

Leave a comment

Patrocinador

Siguenos

Suscribete

Escribe tu correo:

Recibirás un correo con todos los articulos escritos en ZoneArtCss durante el día.

Correo @zoneartcss.com

Obtén una cuenta de @zoneartcss.com gratuita