Autor
|
Tema: Preguntas Mas Frecuentes de PHP (scripts) (Leído 51,926 veces)
|
Cuantico
qantic.net
Desconectado
Mensajes: 1.830
no paiN? no gAIn! !.
|
También está creado igual q el include() el include_once() Q hace la misma función del primero, pero q si el codigo fue incluido por ningún caso será incluido otra vez. Es usado para esto, por si no quieres q un codigo se repita, pues usa include_once
Lo mismo para require() y require_once()
|
|
|
|
|
En línea
|
|
|
|
Cuantico
qantic.net
Desconectado
Mensajes: 1.830
no paiN? no gAIn! !.
|
|
|
|
|
|
En línea
|
|
|
|
Cuantico
qantic.net
Desconectado
Mensajes: 1.830
no paiN? no gAIn! !.
|
Para los links <?php function href ($link, $text) { return "<a href=\"$link\">$text</a>"; } ?>
donde en iría un link, solo bastaría con poner: <?php href("http://www.elhacker.net", "Link a elhacker.net"); ?> Para imagenes: <?php function img ($src, $alt) { return "<img border=0 src=\"$src\" alt=\"$alt\" $info[3]>"; } ?> donde al momento de poner una imagen nos bastaría con: <?php img("http://www.elhacker.net/elhacker.gif", "Imagen de elhacker.net"); ?> Aunque son cosas sencillas y q algunos no utilizariamos, aparecen por ahí quien prefiera usar puro codigo php y ningun html 
|
|
|
|
|
En línea
|
|
|
|
Cuantico
qantic.net
Desconectado
Mensajes: 1.830
no paiN? no gAIn! !.
|
Neohex y TheGhost wrotes: subir.php : <?php if (isset($enviar)){ if ($archivo_size <= 100000){ $extensiones = explode(".",$archivo_name); $e = count($extensiones) - 1; if($extensiones[$e] == "zip"){ move_uploaded_file($archivo,"carpeta/$archivo_name") ; echo "El archivo ha sido subido con éxito" ; }else{ echo "Sólo se permiten archivos con extensión .zip" ; } }else{ echo "El archivo debe ser menor de 100 Kb" ; } }else{ ?> <FORM METHOD="POST" ACTION="subir.php" ENCTYPE="multipart/form-data"> <INPUT TYPE="file" NAME="archivo"> <INPUT TYPE="submit" NAME="enviar" VALUE="Enviar"> </FORM> <? } ?>
|
|
|
|
« Última modificación: 5 Mayo 2004, 05:16 por Cuantico »
|
En línea
|
|
|
|
Cuantico
qantic.net
Desconectado
Mensajes: 1.830
no paiN? no gAIn! !.
|
Claro, si el proxy es full anonimity pos no, pero mientras sea un proxy de 2, está todo bien: En php el que yo utilizo es este: <?php
function getIP() { if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ips = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif (isset($_SERVER['HTTP_VIA'])) { $ips = $_SERVER['HTTP_VIA']; } elseif (isset($_SERVER['REMOTE_ADDR'])) { $ips = $_SERVER['REMOTE_ADDR']; } else { $ips = "unknown"; } echo "Tu IP es: $ips";
}
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip1 = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif (isset($_SERVER['HTTP_VIA'])) { $ip1 = $_SERVER['HTTP_VIA']; } elseif (isset($_SERVER['REMOTE_ADDR'])) { $ip1 = $_SERVER['REMOTE_ADDR']; } else { $ip1 = "unknown"; } ?>
y se llama con un simple: <?php getIP(); ?>
|
|
|
|
|
En línea
|
|
|
|
Cuantico
qantic.net
Desconectado
Mensajes: 1.830
no paiN? no gAIn! !.
|
Segun Riven-Ward: " Buenas  La verdad no le veo mucho sentido a este script, pero bueh xDD A través del siguiente script, se revisa cada letra o carácter de una cadena y se le compara con cada row de un array. Si se es igual al row, osea, hay un carácter inválido, se da por falso. Esto lo hice hoy porque hoy mismo "descubrí" que se puede tratar a una cadena como un array... Y como un script vale mas que mil palabras (esta me la inventé yo  ), aquí va: <?php $inv = array ( 0=>32, 1=>33 ); $str = "Hola amigo!"; $long = strlen ($str)-1; for ($i = 0; $i <= $long; $i++) { for ($x = 0; $x <= count($inv); $x++) { if (ord ($str[$i]) == $inv[$x]) { $malo = true; } } } if ($malo) { echo "Cadena con carácteres inválidos!"; } else { echo "Cadena correcta"; } ?> La función ord() es para obtener el ASCII de un carácter. Como podrán darse cuenta, en el array están los ASCII del espacio ( ) y del signo de exclamación ( ! ). Aquí les dejo la lista de carácteres ASCII, que podrían ser considerados inválidos. 32 -> (espacio) 33 -> ! 34 -> " 38 -> & 39 -> ' 40 -> ( 41 -> ) 42 -> * 45 -> - 46 -> . 47 -> / 58 -> : 59 -> ; 60 -> < 61 -> = 62 -> > 63 -> ? 91 -> [ 92 -> 93 -> ] 94 -> ^ 123 -> { 124 -> | 125 -> } 126 -> ~ Salu2!"
|
|
|
|
|
En línea
|
|
|
|
Cuantico
qantic.net
Desconectado
Mensajes: 1.830
no paiN? no gAIn! !.
|
Riven-Ward dice: " Bueno, ustedes conocerán las Librerías GD. Son unas librerías (... xDD) para trabajar con imágenes. Por ejemplo, poner la IP del visitante en una imágen. NOTA: No todos los host's aceptan GD... Pregunten con el administrador. Si no tienen GD, no pueden usar esto.Les dejo un ejemplo que hice yo aqui, que muestra la fecha actual y la IP del visitante, con un fondo hecho en Photoshop   Con ésta función que voy a poner, puedes elegir la fuente que quieras que tenga el texto que pondrás, la posición del texto, el ángulo (puedes ponerlo en distintos ángulos, p.e 90°) y el tamaño de fuente. Solo se pueden usar imágenes JPG y PNG. Bueno, no SOLO esas, pero son las mas usadas y las que mejor se ven. El Gif NO se puede usar a partir de la versión 1.6 del GD... Bueno, después de esta breve explicación, va el código: <?php header("Content-type: image/jpeg"); //El tipo de imágen $im = "http://www.tuweb.com/imagen.jpg"; //Url COMPLETA de la imágen $img = ImageCreateFromJpeg ($im); $color = ImageColorAllocate ($img, 0, 0, 0); /* Color negro... El color está en formato RGB, puedes ver esto en el Paint, o el Photoshop. El negro es el 0 0 0 y el blanco el 255 255 255 */ $texto = "Hola, eres ".$REMOTE_ADDR; ImageTTFText($img, 10, 0, 25, 95, $color, "/home/pagina/public_html/arial.ttf",$text); /* Pequeña explicación de esta función: Estructura: array imagettftext ( resource imagen, int tamanyo, int angulo, int x, int y, int color, string archivo_fuente, string texto) -> Sacado de php.net <- La fuente debe estar en tu servidor, no es necesario que le usuario la tenga. Además, la fuente debe estar en su RUTA COMPLETA, como la que se indica arriba. Debes cambiar la posición del texto y todo eso. Recuerda que puedes ver en que posición poner el texto con Paint, abajo sale el lugar en el que está el mouse. Te saldrá, p.e., 12,42: Ponlos en ese orden. */ ImageJpeg ($img); //Se muestra la imágen ImageDestroy ($img); //Se libera la memoria y FIN :D ?>
Debo agregar que si la imágen es PNG, deben cambiar las siguientes funciónes: header("Content-type: image/jpeg"); -> header("Content-type: image/png"); ImageCreateFromJpeg -> ImageCreateFromPng ImageJpeg -> ImagePng Creo que eso es todo... Para mayor información, ver la documentación de PHP. Salu2! "
|
|
|
|
|
En línea
|
|
|
|
Cuantico
qantic.net
Desconectado
Mensajes: 1.830
no paiN? no gAIn! !.
|
en un formulario que hice para unas personas, eran algunas 80 preguntas (son, aun no termino) uso esta funciona cada vez que le den al submit con algun campo que sea obligatorio y esté vacio. <?php function comprobar($mensaje) { echo '<script language="javascript">alert("'.$mensaje.'\n\nFormulario para Egresados Honoríficos"); javascript:history.back(1)</script>'; }
?>
|
|
|
|
|
En línea
|
|
|
|
Cuantico
qantic.net
Desconectado
Mensajes: 1.830
no paiN? no gAIn! !.
|
Funcion para convertir los bbcodes q se utilizan en los foros y message board, para publicarlo en buro codigo html... <?php function BIs2cODE($texto) { $texto = nl2br($texto); $texto = wordwrap($texto, 150, "\n", 1);
$texto = str_replace("[b]", "<b>", $texto); $texto = str_replace("[/b]", "</b>", $texto); $texto = str_replace("[i]", "<i>", $texto); $texto = str_replace("[/i]", "</i>", $texto); $texto = str_replace("[poem]", "<center><i>", $texto); $texto = str_replace("[/poem]", "</center></i>", $texto); $texto = str_replace("[u]", "<u>", $texto); $texto = str_replace("[/u]", "</u>", $texto); $texto = str_replace("[br]","<br>",$texto); $texto = str_replace("[strong]","<strong>",$texto); $texto = str_replace("[/strong]","</strong>",$texto); $texto = str_replace("[center]","<center>",$texto); $texto = str_replace("[/center]","</center>",$texto); $texto = str_replace("[marquee]", "<marquee>", $texto); $texto = str_replace("[/marquee]", "</marquee>", $texto); $texto = str_replace("[blink]", "<blink>", $texto); $texto = str_replace("[/blink]", "</blink>", $texto); $texto = str_replace("[strike]", "<strike>", $texto); $texto = str_replace("[/strike]", "</strike>", $texto); $texto = str_replace("[quote]", "<blockquote><span>Citado:</span><hr color=#A3CFD8>", $texto); $texto = str_replace("[list]","<ul type=square>",$texto); $texto = str_replace("[/list]","</ul>",$texto); $texto = str_replace("[list=1]","<ol type=1>",$texto); $texto = str_replace("[list=a]","<ol type=A>",$texto); $texto = str_replace("[list=A]","<ol type=A>",$texto); $texto = str_replace("[/list=1]","</ol>",$texto); $texto = str_replace("[/list=a]","</ol>",$texto); $texto = str_replace("[/list=A]","</ol>",$texto); $texto = str_replace("[*]","<li>",$texto); $texto = str_replace("[•]","<li>",$texto);
$texto = eregi_replace("(^|[>[:space:]\n])([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])([<[:space:]\n]|$)","\\1<a href=\"\\2://\\3\\4\" target=\"_blank\">\\2://\\3\\4</a>\\5", $texto);
$texto = eregi_replace("\\[color=([^\\[]*)\\]([^\\[]*)\\[/color\\]","<font color=\\1>\\2</font>",$texto); $texto = eregi_replace("\\[size=([^\\[]*)\\]([^\\[]*)\\[/size\\]","<font size=\\1>\\2</font>",$texto); $texto = eregi_replace("\\[font=([^\\[]*)\\]([^\\[]*)\\[/font\\]","<font face=\\1>\\2</font>",$texto); $texto = eregi_replace("\\[align=([^\\[]*)\\]([^\\[]*)\\[/align\\]","<p align=\\1>\\2</p>",$texto);
$padrones[] = "#\[img\]([^\[]*)\[/img\]#si"; $remplanzantes[] = '<img src="\1" border=0 />';
$padrones[] = "#\[img=([^\[]*)x([^\[]*)\]([^\[]*)\[/img\]#si"; $remplanzantes[] = '<img width="\1" height="\2" src="\3" border=0 />';
$padrones[] = "#\[flash=([0-9].*?){1}x([0-9]*?)\](.*?)\[/flash\]#si"; $remplanzantes[] = '<OBJECT classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 codebase=http://active.macromedia.com/flash2/cabs/swflash.cab#version=6,0,0,0 ID=main WIDTH=\1 HEIGHT=\2><PARAM NAME=movie VALUE=\3><PARAM NAME=loop VALUE=false><PARAM NAME=menu VALUE=false><PARAM NAME=quality VALUE=best><EMBED src=\3 loop=false menu=false quality=best WIDTH=\1 HEIGHT=\2 TYPE=application/x-shockwave-flash PLUGINSPAGE=http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash></EMBED></OBJECT>';
$padrones[] = "#\[url\]([a-z]+?://){1}(.*?)\[/url\]#si"; $remplanzantes[] = '<a href="\1\2" target="_blank">\1\2</a>';
$padrones[] = "#\[url\](.*?)\[/url\]#si"; $remplanzantes[] = '<a href="http://\1" target="_blank">\1</a>';
$padrones[] = "#\[url=([a-z]+?://){1}(.*?)\](.*?)\[/url\]#si"; $remplanzantes[] = '<a href="\1\2" target="_blank">\3</a>';
$padrones[] = "#\[url=(.*?)\](.*?)\[/url\]#si"; $remplanzantes[] = '<a href="http://\1" target="_blank">\2</a>';
$padrones[] = "#\[email\](.*?)\[/email\]#si"; $remplanzantes[] = '<a href="mailto:\1">\1</a>';
$padrones[] = "#\[email=(.*?){1}(.*?)\](.*?)\[/email\]#si"; $remplanzantes[] = '<a href="mailto:\1\2">\3</a>';
$texto = preg_replace($padrones, $remplanzantes, $texto); return $texto; } ?>
Y se utiliza con el simple: BIs2cODE($variable);[/quote]
|
|
|
|
« Última modificación: 6 Junio 2005, 21:43 por Cuantico »
|
En línea
|
|
|
|
Cuantico
qantic.net
Desconectado
Mensajes: 1.830
no paiN? no gAIn! !.
|
^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+.[A-Za-z0-9_.]+[A-za-z]$
|
|
|
|
|
En línea
|
|
|
|
Cuantico
qantic.net
Desconectado
Mensajes: 1.830
no paiN? no gAIn! !.
|
si tiene version de php anterior a 4.3 y necesita usar session_regenerate_id, cree usted mismo la funcion <?php if (!function_exists('session_regenerate_id')) { function php_combined_lcg() { $tv = gettimeofday(); $lcg['s1'] = $tv['sec'] ^ (~$tv['usec']); $lcg['s2'] = posix_getpid();
$q = (int) ($lcg['s1'] / 53668); $lcg['s1'] = (int) (40014 * ($lcg['s1'] - 53668 * $q) - 12211 * $q); if ($lcg['s1'] < 0) $lcg['s1'] += 2147483563;
$q = (int) ($lcg['s2'] / 52774); $lcg['s2'] = (int) (40692 * ($lcg['s2'] - 52774 * $q) - 3791 * $q); if ($lcg['s2'] < 0) $lcg['s2'] += 2147483399;
$z = (int) ($lcg['s1'] - $lcg['s2']); if ($z < 1) { $z += 2147483562; }
return $z * 4.656613e-10; }
function session_regenerate_id() { $tv = gettimeofday(); $buf = sprintf("%.15s%ld%ld%0.8f", $_SERVER['REMOTE_ADDR'], $tv['sec'], $tv['usec'], php_combined_lcg() * 10); session_id(md5($buf)); if (ini_get('session.use_cookies')) setcookie('PHPSESSID', session_id(), NULL, '/'); return TRUE; } } ?> Para probar: <?php session_start(); $sid = session_id(); session_regenerate_id(); echo "Old session ID: ", $sid, "\nNew session ID: ", session_id(), "\n"; ?>
|
|
|
|
|
En línea
|
|
|
|
|
|