Como enviar correos en php, sencillo script

El servidor de apache es un servidor que utiliza el protocolo http de codigo abierto para plataformas Unix (linux , Gnu…), microsoft windows y macintos. Empezo a desarrrollarse en el año 95 y a partir de este momento nadie ha dejado de utilizarlo, casi todos los servidores que engloban nuestra red poseen de un servidor apache en casos como linux.

Apache sirve principalmente para enviar paginas web dinamicas y estaticas en WWW . Muchas aplicaciones web estan diseñadas con un ambiente de implantacion a apache o utilizan las caracteristicas de apache.

Es la pieza fundamental para la plataforma de aplicaciones LAMP, (LINUX, APACHE, MYSQL, PHP). ahora mismo interpreta Ruby, Perl, Python y php.

Es facil de implementar y presenta entre otras caracteristicas, bases de datos de autenticacion y negociado de contenido.

Por eso una de las caracteristicas principales de este servidor es que es capaz a traves de un codigo fuente desarrollado en php es capaz de hacer un envio de un email usando este maravilloso script.

$siteaddress='tuweb.com';
$sitename='tuweb.com';
 
	 $cabeceras = 'From: info@tuweb.com' . "\r\n" .
  'Content-type: text/html; charset=iso-8859-1\r\n'
  .
    'Reply-To: info@tuweb.com' . "\r\n" .
    '';
 
$destinatario = 'info@tuweb.com';
 
$asunto = $titular;
 
	 $cuerpo='Aqui incluimos el html entero con estilos en linea style:font-....';
 
mail($destinatario,$asunto,$cuerpo,$cabeceras);

Posted on

Poner ceros “0” delante de un numero en php

A veces nos cuesta encontrar un numero, a veces nos cuesta encontrar que un numero sea mas grande que otro, y simplemente es por que no podemos añadir ceros a la izquierda. Os dejo una funcion en php capaz de hacer esto.

str_pad($value, 8, ’0′, STR_PAD_LEFT);

Str_pad es capaz de añadir ceros o cualquier cosa a la izquierda STR_PAD_LEFT o si usted quiere a la derecha STR_PAD_RIGHT siempre que quieras añadirle el tercer parametro que son ceros, Y hasta llegar a ocho digitos que seria el segundo parametro. El valor que le pasamos es el value:

$value=Valor que se le pasa como parametro
8= digitos que llegara ese numero
0 El simbolo o los numero que deseamos añadir4
STR_PAD_LEFT Posicion que deseamos añadir

Os dejo un manual po si quereis coger mas informacion:

http://es2.php.net/manual/es/function.str-pad.php

Posted on

Mostrar los errores en php sin tocar el Phpini.

Es complicado programar, es complicado cuando nos ponemos a desarrollar una aplicación y de repente nos encontramos la pantalla completamente en blanco, esto nos pasa mucho programando a nivel de navegador, cuando nosotros nos disponemos a desarrollar una aplicación movil y tenemos un terminal no hay peor cosa que nos salgan constamente al iniciar el movil que la aplicación debe de cerrarse. En php y mysql el error puede estar en la consulta mysql o incluso en unas comillas simples que a simple vista no podamos ver. Cuando estamos programando en un lenguaje compilado como es Java, encontramos varias erramientas de depuracion de errores pero cuando nos disponemos a programar en php, el unico compilador que tenemos es el navegador (FIREFOX, internet explorer….).

Cuando trabajamos en este lenguaje y el servidor no dispone del error_reporting (directiva del php que te permite mostrar los errores en pantalla).Lo mejor es usar estas dos lineas de codigo al principio de nuestro script, con ello aseguramos que se muestren todos los errores en nuestro php

error_reporting(E_ALL);
ini_set("display_errors", 1);

Posted on

Header php redireccion de una web a otra a traves de php

Si quiere redirigir su pagina web a otra pagina web por ejemplo al entrar en el dominio y no tiene forma de como realizarlo, lo mejor para esto es copiar este codigo fuente en su index.php y subirlo por ftp, lo unico que tiene que cambiar es el parametro que tiene el Location para redirigirlo por una cabecera a otra página web!!

 
<html>
<?php
/* This will give an error. Note the output
 * above, which is before the header() call */
header('Location: http://www.tuweb.com/');
exit;
?>

Posted on

Tareas de mantenimiento en una web sirve para WordPress

Cuando nos disponemos a hacerle cambios en una plataforma un poco delicada como puede ser moodle o un desarrollo a medida, hay a veces que para implementar dichos cambios en dichas plataformas necesitas tambien interactuar con tu base de datos, estos cambios hacen que los usuarios puedan entrar a registrarse y hacer alguna modificacion en sus perfiles o bien hacer alguna intervencion y al estar tu tocando dicha base de datos puedes ocasionar perdidas en tu web, para evitar esto aqui os dejo un .htaccess que lo que hace es que todos los usuarios que entren a la plataforma entren en actualizando.html menos tu ip para que compruebes dicha intervencion y que los codigos que estan implementando estan todos correctos.

Estos cambiso tambien sirven para plataformas en wordpress y tambien utilizando * y demas cosas necesarias del .htaccess sirven para otras plataformas.

RewriteCond %{REQUEST_URI} !/actualizando.html$
 
  RewriteCond %{REMOTE_HOST} !^72\.010\.238\.66
RewriteRule $ http://tuweb.com/actualizando.html
 [R=302,L]

Aqui os dejo otro comentario o aporte para web que no sea wordpress y querais tambien realizar las tareas de mantenimiento.

(adsbygoogle = window.adsbygoogle || []).push({});

RewriteEngine On
ErrorDocument 403 http://www.tuweb.com/actualizando.html
Order deny,allow
Deny from all
Allow from xx.xx.xx.xx #ip que quieres permitir

 
(adsbygoogle = window.adsbygoogle || []).push({});

Posted on

Que hacer con una memoria usb, con un pendrive

Una memoria usb, pendrive, memory stick tienen muchos nombres pero todo el mundo ya los conoce, esos dispositivos que conectando simplemente al usb del ordenador sea nuestro o del amigo, nos permite copiar de un sitio a otro toda la información que necesitamos, como documentos de texto, películas, series, mp3 en fin todo lo que sea para llevar de un sitio a otro.

Ahora bien te imaginas poderte llevar tu msn, skype, el navegador con todos tus favoritos, tu cliente de correo electrónico con todos tus mail, todos perfectamente configurados, listos para usar nada mas conectarlo al usb. Pues sorprendentemente acabo de encontrar un programa que es capaz de ello, se instala en el usb y al conectarlo nos hace aparecer un menú el en systray de Windows, con todas las aplicaciones instaladas en el.

Tiene una infinidad de programas para elegir gratis, otros con licencia freeware y unos pocos shareware pero vale la pena echarle el ojo la verdad.

PortableApps es la aplicación que te estoy hablando, esta aplicación no contiene spyware mi te pedirá el correo electrónico para inundarlo de spam, parece ser que te da mucho por muy poco.

Posted on

Evitar que Windows pida contraseña para iniciar sesión

Nunca os a pasado que tras instalar los drivers de la tarjeta grafica o algún software Windows pide nombre de usuario y contraseña. Quizás simplemente sois el único usuario de ese PC y Windows os pide contraseña para entrar en el sistema. Lo que explicare a continuación sirve para que Windows no pida usuario ni contraseña al iniciar el sistema y por lo tanto podréis encender el PC y dejarlo mientras arranca sin preocupaciones que os pida ninguna confirmación. La necesidad hace que perdamos mucho tiempo buscando soluciones a pequeños problemas yo he estado navegando por la pagina de Microsoft y he encontrado dos sistemas de solucionar la confirmación de usuario, de todas formas os explicare solo 1 el mas simple sin tocar registros

1.- clic en inicio > clic en ejecutar y en el texbox que aparece escribe control userpasswords2 y pulsamos aceptar Con eso hemos conseguido arrancar un programilla que trae Windows por defecto, bien lo que debemos hacer es simple

1.- seleccionamos a nuestro usuario

2.- deseleccionamos la casilla que dice “Los usuarios deben escribir su nombre y contraseña para usar el equipo”

3.- clic en aceptar, nos pedirá la contraseña de ese usuario, se introduce y listo nunca mas os pedirá la contraseña

Posted on

10 años de esunbichito.com

Doy las gracias a todos vosotros

Posted on

Conseguir que firefox navegue mas rápido

Este truco te servirá para navegar mas rápido, alto digo navegar no descargar que cambia mucho el tema, por lo que he podido leer en el post original encontrado en www.freerepublic.com la idea es muy simple, se trata de conseguir que firefox haga varias peticiones al servidor html y que este te las devuelva a la vez firefox ira mostrando el resultado sin esperar a tener la pagina lista como pasa actualmente.

De este truco os podréis veneficiar sobre todo, aquellas personas que tienen conexiones de mas de 4M pero al hacer descargas su proveedor de Internet no le da el ancho de banda al completo y solo tienes una porción de su ancho de banda total, al modificar lo que os explicara firefox hará tantas peticiones como le digamos de esta forma conseguiremos sacarle todo el partido posible a nuestra conexión.

La cosa va de la siguiente forma:
1. Escribe donde normalmente introducimos la dirección de Internet about:config y pulsa intro
1.2 busca y si no la tienes introdece las siguientes cadenas
1.3 network.http.pipelining valor true
1.4 network.http.proxy.pipelining valor true
1.5 network.http.pipelining.maxrequests valor 10
1.6 nglayout.initialpaint.delay valor 0
Que hemos hecho?
Bien la respuesta es simple activando el pipeling hacemos que firefox realice tantas conexiones como le hemos dicho en nuestro caso 10 hay sitios que ponen 100 o 30 pero yo creo que con 10 es mas que suficiente, con la ultima línea modificada le hemos dicho que no espere a tener la pagina descargada para mostrar el resultado.

He de decir ahora que habéis llegado aquí, que siempre hay una forma de hacer las cosas fáciles XD en freepublic en uno de los comentarios había un link a la propia pagina de firefox hacia la sección de adonis, en esa pagina había un addon para modificar todo esto como parte de la configuración de firefox. El addon es Tweak Network pero ya sabéis que pasa que abecés no funciona como deberían por eso os he puesto la versión casera sin addon

Posted on

Guardando Archivos en la Base de datos PHP & MS Server

Muchos sabemos como realizar el guardado de imagenes y archivos en bases de datos mysql por medio de un campo blob, pero alguna ves lo hemos echo
en sql server por medio de PHP bueno a continuacion les mostrare la forma como se puede hacer.



<?php

// Primero, arranca el bloque PHP y checkea si el archivo tiene nombre.  
// Si no fue asi, te remite de nuevo al formulario de inserción:
// No se comprueba aqui si se ha subido correctamente.

if (empty($_FILES['archivo']['name'])){
header("location: formulario.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..
exit;
}



//establece una conexión con la base de datos.

$conexion = mssql_connect("xcl-it08","sa","") or die("No se pudo realizar la conexion con el servidor.");
mssql_select_db("clientesdb",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca.




// archivo temporal (ruta y nombre).
$binario_nombre_temporal = $_FILES['archivo']['tmp_name'];



// leer del archvio temporal .. el binario subido.
// "rb" para Windows .. Linux parece q con "r" sobra ...

$binario_contenido = base64_encode(addslashes(file_get_content($binario_nombre_temporal, "rb"));



// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo.
$binario_nombre=$_FILES['archivo']['name'];
$binario_peso=$_FILES['archivo']['size'];
$binario_tipo=$_FILES['archivo']['type'];


//insertamos los datos en la BD.
$consulta_insertar = "INSERT INTO archivos (archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('".$binario_contenido."', '".$binario_nombre."', '".$binario_peso."', '".$binario_tipo."')";
mssql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
header("location: listar_imagenes.php");  // si ha ido todo bien
exit;
?> 

Estructura de la base de datos


CREATE TABLE [archivos] (
    [id] [int] IDENTITY (1, 1) NOT NULL ,
    [archivo_binario] [image] NULL ,
    [archivo_nombre] [varchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
    [archivo_peso] [varchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
    [archivo_tipo] [varchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
    CONSTRAINT [PK_archivos] PRIMARY KEY  CLUSTERED 
    (
        [id]
    )  ON [PRIMARY] 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

este script no ha sido testado porfavor disculpa las molestias causadas

Posted on