Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - godmurdoc

#1


Ya puedes poner a descargar un completo manual para la utilización de Adobe Photoshop CS5, en donde te toparás con casi 700 páginas llenas de pura información que sirve de mucha ayuda al momento de liberar nuestra creatividad con este fabuloso programa que ha llegado a ser el más popular para la edición y retoque de fotografías e imágenes en todo el planeta con disponibilidad para múltiples plataformas.

Una de las mejores cosas es que es gratuito y en español para que puedas aprender sin ningún problema, posee algunas páginas llenas de ilustraciones para entender el manual, el cual es algo complicado para los diseñadores que están comenzando en esta área.

fuente:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

#2
Supongo que también te ha pasado que necesitas o quieres enviar un mensaje a alguien y ¡OMG, te quedaste sin saldo! Pues eso ya no es un gran problema porque con tener Internet en tu computadora ya tienes la solución. Presta atención:

1)En la barra de direcciones de tu navegador web (Internet Explorer, ya que es válido solo desde este) debes escribir la siguiente dirección web: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

2)Cuando la página abra te aparecerá la siguiente imagen, en la cual debes hacer clic.



Paso N°2

3)Ahora aparecerá un cuadro como el que te voy a mostrar a continuación, en este  debes hacer el clic sobre el texto "¿Todavía no estás registrado? Haz clic aquí y ¡únete ya!".



Paso N°3

4)En la ventana que saldrá tendrás que leer los términos y condiciones para usar el servicio y luego debes aceptarlos seleccionando con un clic la casilla donde aparece el texto: "He leído los Términos y Condiciones del servicio y he decidido". Haz clic en el botón "Continuar con el Registro".


Paso N°4

5)El siguiente paso consiste en llenar las casillas del módulo de registro. En las primeras dos casillas colocarás la dirección de tu correo electrónico, y en la tercera el código que te aparezca y haces clic en el botón "Siguiente". A ese e-mail que señalaste, te enviarán un código para que puedas completar tu registro, esto lo hacen para verificar que tu cuenta no sea falsa.



Paso N°5

6) Revisa tu correo electrónico y abre el mensaje que te enviaron.

7) Escribe en el recuadro el código que te enviaron a tu correo y luego haz clic en el botón "Siguiente".



Paso N°7

8 ) Este paso también es de validación, debes escribir dos veces tu número celular y hacer clic en el botón "Siguiente". A continuación te enviarán a tu celular otro código para continuar con el registro.



Paso N°8

9) Revisa el mensaje que enviaron a tu celular y el código que te enviaron lo debes introducir correctamente en la nueva casilla y hacer clic en "Siguiente".



Paso N°9

10) Para poder finalizar tu registro de manera satisfactoria, es necesario que ahora rellenes los siguientes recuadros con tu nombre, apellido, fecha de nacimiento, número de cédula, sexo, ocupación, estado y ciudad en donde vives, un nombre de usuario o apodo y crear una contraseña. También tienes que aceptar los términos y condiciones haciendo clic sobre el cuadrito en blanco. Por último haz clic en "Finalizar".



Paso N°10

11) Ahora sí, para ingresar en el servicio y poder enviar Sms gratuitamente, haz clic sobre el texto: "Clic Aquí para ir a la página principal y entrar en tu cuenta" o cada vez quieras usar el servicio ingresas en la página principal.



Paso N°11

12) Introduce el nombre de usuario o apodo que colocaste en el registro y también la contraseña. Haz clic en el botón "Iniciar Sesión".



Paso N°12

13) Haz clic donde dice "ENVIAR SMS GRATIS".



Paso N°13

14) Escribe el mensaje que deseas enviar, el número de celular que corresponda y por último haz clic en el botón "Enviar SMS".



Paso N°14

Espero puedan disfrutar este servicio sin ningún problema, estoy segura que les servirá en muchísimos caso. Algo que debes tener en cuenta es que mensualmente puedes enviar solo 50 sms.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

bye
#3
Las funciones que se explican en este artículo se encuentran en la siguiente dirección No tienes permitido ver los links. Registrarse o Entrar a mi cuenta. El código puede ser cambiado, mejorado y distribuido libremente. Ha sido programado totalmente por Jose Carlos García de Distintiva Solutions (www.distintiva.com).

Empecemos con el ejemplo más difícil y el causante de que tuviera que programar estas funciones.

<SELECT>
Crear elementos de selección <select></select>
Con php es muy habitual trabajar con arrays, ya sea con datos que nos proporcione una consulta SQL o simples valores.

Veamos un ejemplo en el que queremos mostrar un <select> para

Código: php
<select name="edad">
<option value=0>Seleccione</option>
<option value=1>Entre 0-18</option>
<option value=2>Entre 19-30</option>
<option value=3>Entre 31-50</option>
<option value=4>Más de 50</option>
<select/>


Esto se complica cuando hay que hacerlo de forma dinámica ya que esta lista puede variar, para evitar tener que cambiar el HTML "a pelo" ya que necesitamos construir este fragmento de HTML con un bucle, etc.

Se complica aún más cuando una opción debe estar preseleccionada.
La función que nos salvará la vida es:

Código: php
frm_select($name, $arr_txt, $arr_vals, $default='', $extra_tag='')


Código: php
$name = Nombre del elemento del formulario
$arr_txt = Array con los textos a mostrar
$arr_vals = Array con los valores asociados a cada texto
$default= [opcional] si se indica el valor aparecerá preseleccionado dicha opción
$extra_tag= [opcional] por si necesitamos incluir información adicional al select, como por ejemplo $extra_tag=" class=cssazul " o $extra_tag=" onChange=alert()"

Ejemplo:
$arr_txt=array('españa', 'portugal', 'francia');
$arr_vals=array('ES', 'PT', FR');
<?=frm_select ('paises', $arr_txt, $arr_vals) ?>



De esta forma cualquier modificación sólo hay que hacerla en los arrays sin alterar la parte visual.

A veces es conveniente conservar el valor de un campo del formulario entre llamadas o posts del mismo por ejemplo cuando estamos validando entradas y hay que volver al formulario para que rellene algún campo requerido. Para hacer esto de forma sencilla tan solo tenemos que usar el parámetro $default de la siguiente forma:

Código: php
<?=frm_select ('paises', $arr_txt, $arr_vals, $_POST['paises']) ?> 

(o $_GET dependiendo el método que usemos en nuestro formulario

<SELECT> (tipo lista con varios elementos visibles)

Funciona exactamente igual que el anterior pero en este caso tenemos la típica lista de selección con scroll mostrando X elementos.

La función es:
Código: php
frm_list($name,$size, $arr_txt, $arr_vals, $default='', $extra_tag='')


En este caso el nuevo parámetro es $size que indica cuántos elementos serán mostrados visiblemente en la lista.

<SELECT> (tipo lista con varios elementos visibles y con multiselección)

Igual que el ejemplo anterior pero permitimos que el usuario seleccione uno o varios elementos de la lista con el CTRL+Click o SHIFT+Click

La función es:

Código: php
frm_list_multi($name, $size, $arr_txt, $arr_vals, $default='', $extra_tag='')


... Y también tenemos funciones correspondientes para los demás elementos de formulario aprovechando la capacidad de mantener el valor entre posts.

<CHECKBOX>
No hace falta decir para que sirven estos elementos. La función es:

Código: php
frm_check($name, $ck_val, $var_in='', $extra_tag='')


Código: php
$name= Nombre del campo
$ck_val= Valor que se enviará cuando esté seleccionado
$var_in=[opcional] Funciona como el $default y permitirá que se muestre checkeado

Ejemplo:
Se muestra un checkbox que se mantiene seleccionado entre posts del formulario
<?= frm_check('fumador', 'SI', $_POST['fumador'])?>


<RADIO>
En este caso para mostrar radiobuttons se hace exactamente como el caso anterior pero con la siguiente función:

Código: php
frm_radio($name, $val, $var_in='', $extra_tag='')


<INPUT>
Permite mostrar cuadros de texto con las ventajas que voy ofreciendo en todas las funciones y para ello hay que usar:

Código: php
frm_text($name, $val, $size, $max_length, $extra_tag='')


Código: php
$name = Nombre del campo
$val = Valor o texto que se mostrará (funciona como el $default de las otras funciones)
$size = Tamaño del campo de texto
$max_length = Longitud máxima permitida


<PASSWORD>
El caso es exactamente como el anterior pero esta vez oculta el texto con asteriscos.

Código: php
frm_password($name, $val, $size, $max_length, $extra_tag='')



No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

bye
#4
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:

Código: php
?php

$codigohtml = '

<html>
<head>
<title>E-Mail HTML</title>
</head>
<body>
<a href="http://www.webtaller.com">Ir a WebTaller</a>
</body>

';

$email = '[email protected]';
$asunto = 'E-Mail HTML';
$cabeceras = "Content-type: text/html\r\n";

mail($email,$asunto,$codigohtml,$cabeceras);

?>


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:

Código: php
$cabeceras = "From: [email protected]\r\nContent-type: text/html\r\n";


creditos: vico hack


#5
Si tienes una cuenta en Facebook y otra red social o blog que te permita pegar código HTML, te presento una útil herramienta para personalizarlos.

Se trata de Mint Profile, una herramienta que te permite crear un mensaje con luces LED como las que se ven en publicidades en algunos cines o aeropuertos, en las que en una pequeña pantalla se aprecia un mensaje deslizándose hacia un lado. El mensaje creado podrás incrustarlo en tu perfil de Facebook y darle un toque diferente.

Es sencillo de utilizar, solo ingresas a su página web y seleccionas el color de tu preferencia para mostrarlo en el mensaje, para luego escribir el texto en el campo correspondiente y hacer click en el botón "Generate" e inmediatamente se creará el mensaje LED animado para colocarlo en tu perfil de Facebook copiando y pegando el código HTML que te ofrecen.

code:
Código: html5
<a href="http://www.mintprofile.com"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="380" height="50" id="mintprofile.com" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name=FlashVars value="bt=godmurdoc       &cl=red">
<param name="movie" value="http://www.mintprofile.com/led.swf" /><param name="quality" value="high" />
<param name="wmode" value="transparent" /><param name="bgcolor" value="#000000" />
<embed FlashVars="bt=godmurdoc    &cl=red" src="http://www.mintprofile.com/led.swf" quality="high" wmode="transparent" bgcolor="#000000" width="380" height="50" name="mintprofile.com" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object></a><br><br><a style="padding: 2px; background:#fff0f0; color:#000; font-family:arial; font-size:11px; text-decoration:none; border:2px solid #d72727;" href="http://www.mintprofile.com/scroller.asp" target="_blank">Get Your Own Facebook Scroller Here</a></div>


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

bye
#6
Back-end / Crear imagenes desde base de datos Mysql
Julio 02, 2011, 10:36:36 PM
Scrip de php5 que dada una base de datos MySQL que almacena imágenes, genera los archivos de cada una de las imagenes es una carpeta.
Código: php
<?php
/**
* La Web del Programador - http://www.lawebdelprogramador.com
*
* Script para convertir imagenes almacenadas en base de datos MySQL a fichero
* Para la conversion, los campos de la base de datos son:
* id => sera el nombre de la imagen
* Tipo => determina el tipo de imagen: image/gif, image/pjpeg, image/jpeg, ...
* Imagen => contiene la imagen
*/

$host="localhost";
$dataBaseName="database";
$userName="root";
$password="123456";
$tableName="Imagen";

# Indicamos el path donde se guardaran las imagenes.
# La carpeta donde se indique, tiene que tener derechos de escritura para el
# usuario web.
# Dejas vacio si se tienen que poner las imagenes en la misma carpeta
$path="../img/";

$db=@new mysqli($host,$userName,$password,$dataBaseName);
if($db->connect_errno)
die("Error ".$db->connect_errno." : ".$db->connect_error);

$result=$db->query("SELECT id,Tipo,Imagen FROM ".$tableName);

# Array con las posibles extensiones que puede haber
$fileExtension=array("image/jpeg"=>".jpg", "image/pjpeg"=>".jpg", "image/gif"=>".gif");

while($row = $result->fetch_object())
{
# Creamos cada uno de los archivos
file_put_contents($path.$row->id.$fileExtension[$row->Tipo],$row->Imagen, FILE_APPEND);
}
?>


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
  bye
#7
Antes que nada avisar que se requieren las librerías GD para poder realizar los thumbnails. Y en función de la versión de GD, podremos usar una u otra función

Primero pegaré el código de una función con la que generaremos directamente un thumbnail de alta calidad.
Código: php
function thumbjpeg($imagen,$altura) {

// Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande".
$dir_thumb = "thumbs/";

// Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg",
// el thumbnail se llamaría "tn_imagen1.jpg"
$prefijo_thumb = "tn_";
$camino_nombre=explode("/",$imagen);

// Aquí tendremos el nombre de la imagen.
$nombre=end($camino_nombre);

// Aquí la ruta especificada para buscar la imagen.
$camino=substr($imagen,0,strlen($imagen)-strlen($nombre));

// Intentamos crear el directorio de thumbnails, si no existiera previamente.
if (!file_exists($camino.$dir_thumb))
mkdir ($camino.$dir_thumb, 0777) or die("No se ha podido crear el directorio $dir_thumb");

// Aquí comprovamos que la imagen que queremos crear no exista previamente
if (!file_exists($camino.$dir_thumb.$prefijo_thumb.$nombre)) {
echo $camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br>n";
$img = imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>n");

// miramos el tamaño de la imagen original...
$datos = getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>n");

// intentamos escalar la imagen original a la medida que nos interesa
$ratio = ($datos[1] / $altura);
$anchura = round($datos[0] / $ratio);

// esta será la nueva imagen reescalada
$thumb = imagecreatetruecolor($anchura,$altura);

// con esta función la reescalamos
imagecopyresampled ($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);

// voilà la salvamos con el nombre y en el lugar que nos interesa.
imagejpeg($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre);
}
}


Para llamar a la función sencillamente hacer:

Código: php
thumbjpeg($imagen, 125);


En este caso, '$imagen', es la imagen que queremos reducir, y '125', es la altura en píxeles que queremos que tenga la imagen reducida, de modo que el ancho quede proporcionado respecto a la imagen original.

Con la instrucción "or die()" se mostrará en pantalla el mensaje entrecomillado solo en el caso de que fallara la primera sentencia de la línea.

NOTAS:

Si en lugar de GD2 disponemos de GD1, no podremos utilizar la función imagecopyresampled() y deberíamos conformarnos con la función imagecopyresized() , que utiliza los mismos parámetros, lo malo es que ésta última da como resultado una imagen de calidad más pobre. A cambio, es mucho más rápida que la anterior.

Así si tenemos GD2, podemos usar la que más nos interese, si queremos CALIDAD y no nos importa el número de ciclos consumidos en el servidor.

imagecopyresampled();

en caso contrario:

imagecopyresized();

Si lo que queremos es crear imágenes "al vuelo", sin guardarlas en ningún archivo (cosa poco recomendable si usamos la función de más calidad), el segundo parámetro de la función imagejpeg() no se debe de poner, quedando la llamada en el scritp que hay más arriba:

Código: php
imagejpeg($thumb);


Bueno, démonos cuenta que este script solo sirve para reducir imágenes de tipo JPEG, no de otro, para otros formatos, tan solo habría que cambiar un par de funciones por las correspondientes en los formatos que nos interesen.
Ejemplo:

Código: php
imagecreatefromjpeg() por imagecreatefrompng() o imagecreatefromwbmp() 


o etc.

y

Código: php
imagejpeg() por imagepng() o imagewbmp()


o etc.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

bye













#8
Back-end / Trucos de php
Junio 27, 2011, 06:36:22 PM
Evitar la caché de los navegadores:
Código: php
<?php
header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );  // disable IE caching
header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );
?>


Contador en SQL
Puede ser que necesitemos un contador (de lecturas, por ejemplo) de una noticia guardada en SQL. Si queremos aumentar este valor, muchos habríamos leído el campo, lo hubieramos incrementado y luego hubieramos hecho el UPDATE. Pues hay una forma mucho más fácil, segura y limpia de hacerlo y con solo una SQL.

Código: php
<?php
mysql_query('UPDATE trucos SET lecturas = lecturas + 1 WHERE id=12 LIMIT 1');
?>


Intercambiar colores en X filas
A la hora de hacer listados, puede darse el caso que la legibilidad de las filas no sea buena, por lo tanto sera conveniente usar dos colores diferentes de background para cada fila, de manera que se vayan intercalando y la legibilidad sea buena. Como hacemos esto? Pues una de las maneras más elegantes es usar el operador ternario. Ahí va:

Código: php
<?php
$color = "#000000";
$i = 0;
while ($i < 10)
{
  $color = ($color == "#000000") ? "#FFFFFF" : "#000000";
  echo $color."<br>";
  $i++;
}
?>


Forzar descarga
Forzar la descarga de un archivo desde PHP en un navegador

Código: php
header("Content-type: application/force-download");


Validar email
Una función para validar tu email (incluyendo subdominios).
Código: php
<?php
function ValidaMail($v_email) {
   if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@+([_a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]{2,200}\.[a-zA-Z]{2,6}$", $v_email )){
return true;
  }
else{
      return false;
    }
}
?>


Asegurando contra Inyección SQL
Es una función que incluye el SMF para evitar inyección SQL:
Código: php
<?php
function addslashes__recursive($var){
if (!is_array($var))
return addslashes($var);
$new_var = array();
foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive($v);
return $new_var;
}
$_POST=addslashes__recursive($_POST);
$_GET=addslashes__recursive($_GET);
$_REQUEST=addslashes__recursive($_REQUEST);
$_SERVER=addslashes__recursive($_SERVER);
$_COOKIE=addslashes__recursive($_COOKIE);
?>


Mandar email con PHP
Enviar email con la función mail() de PHP

Código: php
<?php
//Ejemplo: send_mail("[email protected]","cuerpo","asunto","demi@localhost","demi");

function send_mail($to, $body, $subject, $fromaddress, $fromname, $attachments=false)
{
$eol="\r\n";
$mime_boundary=md5(time());

# Common Headers
$headers .= "From: ".$fromname."<".$fromaddress.">".$eol;
$headers .= "Reply-To: ".$fromname."<".$fromaddress.">".$eol;
$headers .= "Return-Path: ".$fromname."<".$fromaddress.">".$eol;    // these two to set reply address
$headers .= "Message-ID: <".time()."-".$fromaddress.">".$eol;
$headers .= "X-Mailer: PHP v".phpversion().$eol;          // These two to help avoid spam-filters

# Boundry for marking the split & Multitype Headers
$headers .= 'MIME-Version: 1.0'.$eol.$eol;
$headers .= "Content-Type: multipart/mixed; boundary=\"".$mime_boundary."\"".$eol.$eol;

# Open the first part of the mail
$msg = "--".$mime_boundary.$eol;

$htmlalt_mime_boundary = $mime_boundary."_htmlalt"; //we must define a different MIME boundary for this section
# Setup for text OR html -
$msg .= "Content-Type: multipart/alternative; boundary=\"".$htmlalt_mime_boundary."\"".$eol.$eol;

# Text Version
$msg .= "--".$htmlalt_mime_boundary.$eol;
$msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol;
$msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
$msg .= strip_tags(str_replace("<br>", "\n", substr($body, (strpos($body, "<body>")+6)))).$eol.$eol;

# HTML Version
$msg .= "--".$htmlalt_mime_boundary.$eol;
$msg .= "Content-Type: text/html; charset=iso-8859-1".$eol;
$msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
$msg .= $body.$eol.$eol;

//close the html/plain text alternate portion
$msg .= "--".$htmlalt_mime_boundary."--".$eol.$eol;

if ($attachments !== false)
{
   for($i=0; $i < count($attachments); $i++)
   {
     if (is_file($attachments[$i]["file"]))
     { 
       # File for Attachment
       $file_name = substr($attachments[$i]["file"], (strrpos($attachments[$i]["file"], "/")+1));

       $handle=fopen($attachments[$i]["file"], 'rb');
       $f_contents=fread($handle, filesize($attachments[$i]["file"]));
       $f_contents=chunk_split(base64_encode($f_contents));    //Encode The Data For Transition using base64_encode();
       $f_type=filetype($attachments[$i]["file"]);
       fclose($handle);

       # Attachment
       $msg .= "--".$mime_boundary.$eol;
       $msg .= "Content-Type: ".$attachments[$i]["content_type"]."; name=\"".$file_name."\"".$eol;  // sometimes i have to send MS Word, use 'msword' instead of 'pdf'
       $msg .= "Content-Transfer-Encoding: base64".$eol;
       $msg .= "Content-Description: ".$file_name.$eol;
       $msg .= "Content-Disposition: attachment; filename=\"".$file_name."\"".$eol.$eol; // !! This line needs TWO end of lines !! IMPORTANT !!
       $msg .= $f_contents.$eol.$eol;
     }
   }
}

# Finished
$msg .= "--".$mime_boundary."--".$eol.$eol;  // finish with two eol's for better security. see Injection.

# SEND THE EMAIL
ini_set(sendmail_from,$fromaddress);  // the INI lines are to force the From Address to be used !
$mail_sent = mail($to, $subject, $msg, $headers);

ini_restore(sendmail_from);

return $mail_sent;
}
?>


Checar headers
Chequea si ya se enviaron cabeceras y en que parte.
Código: php
<?php

// Si no se han enviado cabeceras, enviar una
if (!headers_sent()) {
   header('Location: http://www.example.com/');
   exit;
}

// Un ejemplo del uso de las parametros opcionales archivo y linea, a
// partir de PHP 4.3.0.
// Note que $nombre_archivo y $num_linea son pasados para su uso posterior.
// No les asigne valores con anterioridad.
if (!headers_sent($nombre_archivo, $num_linea)) {
   header('Location: http://www.example.com/');
   exit;

// Probablemente quiera producir un error aqui.
} else {

   echo "Las cabeceras ya fueron enviadas en $nombre_archivo en la linea " .
        "$num_linea\nNo es posible redireccionar, por ahora por favor " .
        "pulse este <a href=\"http://www.example.com\">enlace</a> en su " .
        "lugar\n";
   exit;
}

?>


Redireccionar a HTTPS
Si nuestra web la tenemos normal con el 'HTTP' pero si queremos redireccionarlos automaticamente a HTTPS (necesitas un certificado) con esto lo puedes hacer:

Código: php
<?php
if(!$_SERVER['HTTPS']== 'on'){
      $nueva="https://". $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
      header("Location: $nueva");
      exit();
   }
?>


Funcion para cortar texo o limitar, ideal para ultimas noticias y demas:
Código: php
<?
// Funcion para cortar texto
// Programado por alienmaster <[email protected]>
// http://4cosas.com
function cortar($text0, $limite){
   $comp = strlen($text0);
   if($comp > $limite){
       return = substr($text0, 0, $limite)."...";
   }
   else{
       return "$text0";
   }
}
?>


Forma abreviada para imprimir en pantalla:

Código: php
$nick="Soy Carxl";
<?=$nick?>


Esa instrucción reemplazaría: <?php echo $nick;?>

Hice una pequeña función que permite seleccionar lo que hay dentro de un string desde la palabra necesitada hasta la que finaliza...

Código: php
<?php

function desde_hasta($desde, $hasta, $contenido){
if(eregi($desde ,$contenido)){
$retorno = explode($desde, $contenido);
$retorno = $retorno[1];
$retorno = explode($hasta, $retorno);
$retorno = $retorno[0];
return $retorno;
} else {
return FALSE;
}
}

?>


De esta forma ejecutas:
Código: php
<?php
$contenido = 'tienes <a href="http://foro.elhacker.net/pm.html">111 mensajes</a>';
$cantidad_mensajes = desde_hasta('tienes <a href="http://foro.elhacker.net/pm.html">', 'mensajes</a>', $contenido);
echo "Cantidad de mensajes: $cantidad_mensajes\n";
?/


Estaba realizando unas funciones propias para un sistema que estoy haciendo y quería compartirlo con ustedes si es que agún dia tienen la misma necesidad:

Código: php
<?php
$palabra = "1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950";
echo whk_recorta($palabra,10);
/* Resultado: 1234567891...4647484950 */

function whk_recorta($palabra,$limite){
if($limite < 1){
return $palabra;
}
if(strlen($palabra)>(($limite * 2) + 1)){
for($cuenta=0;$cuenta<$limite;$cuenta++){
  $palabra_final .= $palabra[$cuenta];
}
$palabra_final .= "...";
for($cuenta = (strlen($palabra) - $limite); $cuenta <= strlen($palabra); $cuenta++){
  $palabra_final .= $palabra[$cuenta];
}
return $palabra_final;
}else{
return $palabra;
}
}
?>




Transformación de Strings en múltiples formas:
Código: php
// Powered by GreenCode - WHK
function codifica_base64_gz($buffer){
$buffer = bin2hex(base64_encode(gzcompress($_POST['buffer'])));
$separador = 16; // Editable, separador de 16 bytes.
$separa = 0;
for($cuenta=0;$cuenta<strlen($buffer);$cuenta+=2){
if($separa == 0){
  $dump .= '"';
}
$dump .= '\x'.$buffer[$cuenta].$buffer[$cuenta+1];
$separa++;
if($separa == $separador){
  $dump .= '"';
  if($cuenta != (strlen($buffer))-2){
   $dump .= '.'."\n";
  }
  $separa = 0;
}
}
if($dump[strlen($dump)-1] != '"'){
$dump .= '"';
}
return
"\x3c\x3fphp\n// ...\n\n/* El retorno es tu buffer */".
"\$str = gzuncompress(base64_decode(\n$dump\n));\n\n// ...\n\x3f\x3e";
}

function ascii_a_png($buffer){
return
"\x3c\x3fphp\n// ...\n\n".
"/* El retorno es una imagen */\n".
"\$handle_img = imagecreate(".(int)(strlen($buffer) * 9).", 30);\n".
"\$fondo = imagecolorallocate(\$handle_img, 255, 255, 255);\n".
"\$color_texto = imagecolorallocate(\$handle_img, 0, 0, 255);\n".
"imagestring(\$handle_img, 5, 0, 0, base64_decode(\"".base64_encode($buffer)."\"), \$color_texto);\n".
"header(\"Content-type: image/png\");\n".
"imagepng(\$handle_img);\n\n".
"// ...\n\x3f\x3e";
}

function sqlchr($buffer){
for($cuenta=0;$cuenta<strlen($buffer);$cuenta++){
$dump .= 'char('.ord($buffer[$cuenta]).')';
if((strlen($buffer) - 1) != $cuenta){
  $dump .= ',';
}
}
return $dump;
}

function sqldword($buffer){
return 'funcion(0x'.bin2hex($buffer).')';
}

function urlencode_total($buffer){
$buffer = bin2hex($buffer);
for($cuenta=0;$cuenta<strlen($buffer);$cuenta+=2){
$dump .= '%'.$buffer[$cuenta].$buffer[$cuenta+1];
}
return $dump;
}

function unescape_javascript($buffer){
return '<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">
document.write(unescape("'.urlencode_total($buffer).'"));
</SCRIPT>';
}

function php_encode($buffer){
$buffer = bin2hex(base64_encode(gzcompress($_POST['buffer'])));
$separador = 16; // Editable, separador de 16 bytes.
$separa = 0;
for($cuenta=0;$cuenta<strlen($buffer);$cuenta+=2){
if($separa == 0){
  $dump .= '"';
}
$dump .= '\x'.$buffer[$cuenta].$buffer[$cuenta+1];
$separa++;
if($separa == $separador){
  $dump .= '"';
  if($cuenta != (strlen($buffer))-2){
   $dump .= '.'."\n";
  }
  $separa = 0;
}
}
if($dump[strlen($dump)-1] != '"'){
$dump .= '"';
}
return
"\x3c\x3fphp\n// ...\n".
"/*\nRecuerda que no debes anteponer '\x3c\x3f' ni terminar con '\x3f\x3e'".
"Elimina este comentario.\n*/\n".
"eval(gzuncompress(base64_decode(\n$dump\n)));\n\n// ...\n\x3f\x3e";
}

function decodifica_base64_gz($buffer){
$buffer1 = str_replace('"',' ',$buffer);
$buffer1 = str_replace('.',' ',$buffer);
$buffer1 = explode('\x',$buffer);
$buffer1[0] = '';
for($cuenta=0;$cuenta<count($buffer1);$cuenta++){
if(strlen($buffer1[$cuenta]) == '2'){
  $buffer2 .= ' '.$buffer1[$cuenta];
  $procesando = true;
}else{
  if($procesando){
   $buffer2 .= ' '.$buffer1[$cuenta][0].$buffer1[$cuenta][1];
  }
}
}
$buffer2 = explode(' ',$buffer2);
for($cuenta=0;$cuenta<count($buffer2);$cuenta++){
if(strlen($buffer2[$cuenta]) == '2'){
  $buffer3 .= $buffer2[$cuenta];
}
}
return gzuncompress(base64_decode(hexa_a_str($buffer3)));
}

function ascii_a_sha1($buffer){
return sha1($buffer);
}

function hexa_a_str($buffer){
$buffer = preg_replace("/[^a-zA-Z0-9s]/", "", str_replace('\x',' ',$buffer));
for($cuenta=0; $cuenta<strlen($buffer); $cuenta+=2){
$dump .= chr(hexdec($buffer[$cuenta].$buffer[($cuenta+1)]));
}
return $dump;
}

function ascii_a_decimal($buffer){
for($cuenta=0;$cuenta<strlen($buffer);$cuenta++){
$dump .= ord($buffer[$cuenta]).' ';
}
return $dump;
}

function ascii_a_html_sin_s($buffer){
$buffer = bin2hex($buffer);
for($cuenta=0; $cuenta<strlen($buffer); $cuenta+=2){
$dump .= '&#'.hexdec($buffer[$cuenta].$buffer[$cuenta+1]);
}
return $dump;
}

function ascii_a_html_con_s($buffer){
$buffer = bin2hex($buffer);
for($cuenta=0; $cuenta<strlen($buffer); $cuenta+=2){
$dump .= '&#x'.$buffer[$cuenta].$buffer[$cuenta+1].';';
}
return $dump;
}

function generar_htpasswd_sha($user,$pass){
return $user.':{SHA}'.base64_encode(sha1($pass, TRUE));
}

function generar_htpasswd_md5($user,$realm,$pass){
return $user.':'.md5($user.':'.$realm.':'.$pass);
}

function hexadecimal_a_decimal($buffer){
$buffer = preg_replace("/[^a-zA-Z0-9s]/", "", str_replace('\x',' ',$buffer));
for($cuenta=0; $cuenta<strlen($buffer); $cuenta++){
if(ctype_xdigit($buffer[$cuenta].$buffer[$cuenta+1])){
  $dump .= hexdec($buffer[$cuenta].$buffer[$cuenta+1]).' ';
  $cuenta++;
}
}
return $dump;
}

function octal_a_decimal($buffer){
$buffer = preg_replace("/[^0-9 s]/", "", $buffer);
$buffer = explode(' ',$buffer);
for($cuenta=0; $cuenta<(count($buffer)-1); $cuenta++){
$dump .= octdec($buffer[$cuenta]).' ';
}
return $dump;
}

function ascii_a_hexadecimal($buffer){
return chunk_split(bin2hex($buffer),2,' ');
}

function ascii_a_octal($buffer){
$buffer = bin2hex($buffer);
for($cuenta=0; $cuenta<strlen($buffer); $cuenta+=2){
$dump .= hexdec($buffer[$cuenta].$buffer[$cuenta+1]).' ';
}
$dump3 = explode(' ',$dump);
for($cuenta=0; $cuenta<(count($dump3)-1); $cuenta++){
$dump2 .= decoct($dump3[$cuenta]).' ';
}
return $dump2;
}

function debugger(){
global $dump;
if($dump){
echo htmlspecialchars($dump,ENT_QUOTES);
}else{
if($_POST['buffer'] and $_POST['algoritmo']){
echo "No hay datos que devolver";
}
}
}


Uso:
Código: php
<?php
// .. ..
$dump = ascii_a_png('Hola Elhacker.net'); // Procesa el String.
debugger(); // Imprime en pantalla el resultado evitando un XSS.
// .. ..
?>


Debido a una incompatibilidad de SMF con carácteres HTML como & y # las dos funciones
ascii_a_html_sin_s()
ascii_a_html_con_s()
No se ven como debieran. Deben aparecer de la siguiente manera:
Código: php
function ascii_a_html_sin_s($buffer){
$buffer = bin2hex($buffer);
for($cuenta=0; $cuenta<strlen($buffer); $cuenta+=2){
  $dump .= '&#'.hexdec($buffer[$cuenta].$buffer[$cuenta+1]);
}
return $dump;
}

function ascii_a_html_con_s($buffer){
$buffer = bin2hex($buffer);
for($cuenta=0; $cuenta<strlen($buffer); $cuenta+=2){
  $dump .= '&#x'.$buffer[$cuenta].$buffer[$cuenta+1].';';
}
return $dump;
}


bye

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta