[Recomendado] Pequeños trucos en PHP / Scripts php-mysql / POO

Iniciado por Ertai, 14 Diciembre 2006, 01:27 AM

0 Miembros y 1 Visitante están viendo este tema.

DJmixmancar

Cita de: alienmaster en 16 Septiembre 2007, 04:53 AM
Funcion para cortar texo o limitar, ideal para ultimas noticias y demas

Código (php) [Seleccionar]
<?
// Funcion para cortar texto
// Programado por alienmaster <efnworkz@hotmail.com>
// http://4cosas.com
function cortar($text0, $limite){
    $comp = strlen($text0);
    if($comp > $limite){
        return = substr($text0, 0, $limite)."...";
    }
    else{
        return "$text0";
    }
}
?>


oe man una consultatita , como aria esta esta funcion con una consulta en mysql
que muestre las noticias no entiendo bien con mysql

WHK

#11
Transformación de Strings en múltiples formas

Código (php) [Seleccionar]
// 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) [Seleccionar]
<?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:

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;
}

Dacan

#12
Función:
Código (php) [Seleccionar]
<?
// Creada por Dacan
function instalador ($archivo , $variable1, $variable2, $variable3, $variable4){
$manejador = @fopen($archivo, "w+");

$contenido = "<?\n";
$contenido .= "\$servidor = \"$variable1\";\n";
$contenido .= "\$usuario = \"$variable2\";\n";
$contenido .= "\$password = \"$variable3\";\n";
$contenido .= "\$base = \"$variable4\";\n";
$contenido .= "\$conexion = @mysql_connect(\$servidor, \$usuario, \$password) or die(mysql_error());\n";
$contenido .= "@mysql_select_db(\$base, \$conexion) or die (mysql_error());\n";
$contenido .= "?>";
if(fwrite($manejador, $contenido)){
return true;
}
else{
return false;
}
}
?>


Ejemplo de Uso:

Código (php) [Seleccionar]

<?
if(instalador("config.php", $_POST['servidor'], $_POST['usuario'], $_POST['password'], $_POST['base'])){
echo "Datos guardados correctamente";
}
else {
echo "Ocurrio un error!";
}
?>


Como Funciona:

Código (php) [Seleccionar]
function instalador ($archivo , $variable1, $variable2, $variable3, $variable4){

La variable $archivo corresponde al archivo que se va modificar, $variable 1 corresponde al host donde esta alojada la base de datos, $variable2 corresponde al usuario de la base de datos, $variable3 corresponde la password de la base de datos y $variable4 corresponde el nombre de la base de datos.

Si encuentran algún error, modifican algo, tienen dudas no duden en avisarme, si lo usan en sus scripts aunque sea dejen la parte de Creada por Dacan se les agradece.

Este tema proviene de otro foro al cual pertenezco para que no hayan confusiones: http://mixforo.com/foro/index.php/topic,61657.0.html


Saludos, Dacan  :D

& eDu &

Me gusta, lo utilizaré para el instalador que estoy creando... ;)

Dacan

Cuando pueda la mejoro con mas opciones así cuando necesiten hacer un instalador se ahorren mucho código.

Saludos, Dacan  :D

WHK

Podríamos hacer un solo post en el comienzo con uno o grupos de php algo así como librerías de códigos sacados de acá mismo y usarlos en sistemas, pasar todo a funciones y aplicarlos como uno quiera, por ejemplo que todo comienze con un include a ./.class_php/includes.php y ese include que se encargue de hacer el resto y ese directorio con acceso denegado al acceso público, de esta forma si alguien necesita alguna función de acá solo descarga el sistema y le hace un include y listo.

Si es que se puede con el permiso del mod, habría que pedir permiso a los que postearon cada tema para ver si se puede incluir o no, es mas, hasta podría elegirse solo los mas funcionales para ahorrar espacioy hacer algo así como un concurso mensual y los mejores serán incluido al paquete  :P, si fuera así cada persona que posteara algo acá tendría que decir que podemos incluirlo si es que quiere que se incluya.. claro nuevamente con el permiso del mod  :P

дٳŦ٭

Claro ;) no hay problema, nomas me avisan a que le dejo y quito chincheta  ;)


Con sangre andaluza :)


WHK

Bién, gracias.. ahi va:

http://foro.elhacker.net/php/proyecto_phplibs_creado_por_los_usuarios_de_elhackernet-t239182.0.html

Como son mas de un tema de donde sacar mejor hize uno nuevo  :P como fuiste el único que me ha respondido que puedo poner tus scripts en el sistema entonces solo los dos estamos integrados, si alguien mas quiere hacerlo que se haga presente en ese post que puse.

e500


Erik#

Bueno, este generador lo hice hace tiempo, es util para formularios de dominios, hosting, emails...:

Código (php) [Seleccionar]
<?php

// generador de dnis para formularios

// Creado por Erik#

// erik_unix@hotmail.com

function dni($dni){

$gen= (int) ($dni 23);

$gen *= 23;

$gen$dni $gen;

$gen2"TRWAGMYFPDXBNJZSQVHLCKEO";

$letrasubstr ($gen2$gen1);

return 
$dni.$letra;

}

$n1 rand(0,9);

$n2 rand(0,9);

$n3 rand(0,9);

$n4 rand(0,9);

$n5 rand(0,9);

$n6 rand(0,9);

$n7 rand(0,9);

$n8 rand(0,9);

$ndni $n1.$n2.$n3.$n4.$n5.$n6.$n7.$n8;

echo 
'<b>DNI: </b>'.dni($ndni);

?>