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ú

Mensajes - LuffyFF

#31
Desarrollo Web / Re: Cookies Y Facebook
21 Octubre 2011, 01:07 AM
No puedes agregar cookies con otro host en PHP o JS.

Pero si puedes editar cookies o agregar con un addon de firefox. O editando la base de datos sqlite.
Para Internet Explorer hay programas para editar cookies

Saludos
#32
PHP / Clase de auto keywords, acentos.
20 Julio 2011, 21:03 PM
Tengo la siguiente clase: http://www.phpclasses.org/package/3245-PHP-Automatically-suggest-keywords-from-content-text.html

Código (php) [Seleccionar]
<?php
class autokeyword {

//declare variables
//the site contents
var $contents;
var $encoding;
//the generated keywords
var $keywords;
//minimum word length for inclusion into the single word
//metakeys
var $wordLengthMin;
var $wordOccuredMin;
//minimum word length for inclusion into the 2 word
//phrase metakeys
var $word2WordPhraseLengthMin;
var $phrase2WordLengthMinOccur;
//minimum word length for inclusion into the 3 word
//phrase metakeys
var $word3WordPhraseLengthMin;
//minimum phrase length for inclusion into the 2 word
//phrase metakeys
var $phrase2WordLengthMin;
var $phrase3WordLengthMinOccur;
//minimum phrase length for inclusion into the 3 word
//phrase metakeys
var $phrase3WordLengthMin;

function autokeyword($params$encoding)
{

//get parameters
$this->encoding $encoding;

mb_internal_encoding($encoding);

$this->contents $this->replace_chars($params['content']);

// single word
$this->wordLengthMin $params['min_word_length'];
$this->wordOccuredMin $params['min_word_occur'];

// 2 word phrase
$this->word2WordPhraseLengthMin $params['min_2words_length'];
$this->phrase2WordLengthMin $params['min_2words_phrase_length'];
$this->phrase2WordLengthMinOccur $params['min_2words_phrase_occur'];

// 3 word phrase
$this->word3WordPhraseLengthMin $params['min_3words_length'];
$this->phrase3WordLengthMin $params['min_3words_phrase_length'];
$this->phrase3WordLengthMinOccur $params['min_3words_phrase_occur'];

//parse single, two words and three words

}

function get_keywords()
{
$keywords $this->parse_words().$this->parse_2words().$this->parse_3words();
return substr($keywords0, -2);
}

//turn the site contents into an array
//then replace common html tags.
function replace_chars($content)
{
//convert all characters to lower case
$content mb_strtolower($content);
//$content = mb_strtolower($content, "UTF-8");
$content strip_tags($content);

$punctuations = array(','')''(''.'"'"'"',
'<''>''!''?''&ldquo;''&rdquo;''/''-',
'_''['']'':'';''+''=''#',
'$''&quot;''&copy;''039;''nbsp;''nbsp',
'&aacute;''&eacute;''&bull;''bull;''aacute''eacute''uacute''ntilde''Ntilde''oacute''iacute''&iacute;'
'&oacute;''&uacute''&nbsp;''&iquest;''&hellip;''hellip''&iexcl;''iexcl;''iquest;''iquest''iexcl''nbsp;''&ntilde''mdash;''&mdash;''mdash''&mdash''ldquo;''&ldquo;''ldquo''&ldquo''rdquo;''&rdquo;''rdquo''&rdquo''&Ntilde''&039;''&''&gt;''&lt;',
chr(10), chr(13), chr(9));

$content str_replace($punctuations" "$content);
// replace multiple gaps
$content preg_replace('/ {2,}/si'" "$content);

return $content;
}

//single words META KEYWORDS
function parse_words()
{
//list of commonly used words
// this can be edited to suit your needs
$common = array("m&aacute;s""039;m");
//create an array out of the site contents
$s split(" "$this->contents);
//initialize array
$k = array();
//iterate inside the array
foreach( $s as $key=>$val ) {
//delete single or two letter words and
//Add it to the list if the word is not
//contained in the common words list.
if(mb_strlen(trim($val)) >= $this->wordLengthMin  && !in_array(trim($val), $common)  && !is_numeric(trim($val))) {
$k[] = trim($val);
}
}
//count the words
$k array_count_values($k);
//sort the words from
//highest count to the
//lowest.
$occur_filtered $this->occure_filter($k$this->wordOccuredMin);
arsort($occur_filtered);

$imploded $this->implode(", "$occur_filtered);
//release unused variables
unset($k);
unset($s);

return $imploded;
}
function parse_2words()
{
//create an array out of the site contents
$x split(" "$this->contents);
//initilize array

//$y = array();
for ($i=0$i count($x)-1$i++) {
//delete phrases lesser than 5 characters
if( (mb_strlen(trim($x[$i])) >= $this->word2WordPhraseLengthMin ) && (mb_strlen(trim($x[$i+1])) >= $this->word2WordPhraseLengthMin) )
{
$y[] = trim($x[$i])." ".trim($x[$i+1]);
}
}

//count the 2 word phrases
$y = @array_count_values($y);

$occur_filtered $this->occure_filter($y$this->phrase2WordLengthMinOccur);
//sort the words from highest count to the lowest.
arsort($occur_filtered);

$imploded $this->implode(", "$occur_filtered);
//release unused variables
unset($y);
unset($x);

return $imploded;
}

function parse_3words()
{
//create an array out of the site contents
$a split(" "$this->contents);
//initilize array
$b = array();

for ($i=0$i count($a)-2$i++) {
//delete phrases lesser than 5 characters
if( (mb_strlen(trim($a[$i])) >= $this->word3WordPhraseLengthMin) && (mb_strlen(trim($a[$i+1])) > $this->word3WordPhraseLengthMin) && (mb_strlen(trim($a[$i+2])) > $this->word3WordPhraseLengthMin) && (mb_strlen(trim($a[$i]).trim($a[$i+1]).trim($a[$i+2])) > $this->phrase3WordLengthMin) )
{
$b[] = trim($a[$i])." ".trim($a[$i+1])." ".trim($a[$i+2]);
}
}

//count the 3 word phrases
$b array_count_values($b);
//sort the words from
//highest count to the
//lowest.
$occur_filtered $this->occure_filter($b$this->phrase3WordLengthMinOccur);
arsort($occur_filtered);

$imploded $this->implode(", "$occur_filtered);
//release unused variables
unset($a);
unset($b);

return $imploded;
}

function occure_filter($array_count_values$min_occur)
{
$occur_filtered = array();
foreach ($array_count_values as $word => $occured) {
if ($occured >= $min_occur) {
$occur_filtered[$word] = $occured;
}
}

return $occur_filtered;
}

function implode($gule$array)
{
$c "";
foreach($array as $key=>$val) {
@$c .= $key.$gule;
}
return $c;
}
}
?>


Lo que hace la clase es buscar palabras repetidas y mostrarlas
Tengo el siguiente texto
"La convocatoria de reuni&oacute;n es una notificaci&oacute;n. Reuni&oacute;n. Reuni&oacute;n. Reuni&oacute;n"
Deberia marcarme Reuni&oacute;n, pero lo que me marca es solamente reuni y se corta.

Alguien sabe a que se debe el problema, o como lo podria arreglar?

La palabra es reuni&oacute;n y no reunión solo

Gracias
Salu2
#33
Tendrías que codificar los archivos en ANSI, y con eso seguro no tendrías más problemas.

Lo más seguro es que antes estaba en ANSI, y hayas codificado en UTF8 sin querer, o tal vez con algún editor que guarde por defecto en UTF8. O tal vez haya habido un cambio en el servidor de PHP.

Al codificar en UTF8, se agrega unos caracteres antes de lo que ves para indicar que está en UTF8.

Entonces con UTF8 seria una especie de " <?php" en vez de "<?php", y entonces el espacio se mostraría como HTML como un espacio en blanco o salto de línea.

Tambien borra los espacios antes de "<?php", porque sino tambien se ejecutaria como HTML lo que haya antes del tag del php

Citar<meta http-equiv="Content-Type" content="text/html charset=ANSI" />
No es cuestion de mostrar la pagina HTML en ANSI. Sino encodear los archivos php en ANSI. Lo haces desde el editor.

Pero como te digo, puedo estar equivocado, y puede que solamente tengas espacios adelante, por lo cual, con solo eliminar los espacios ya está.

Salu2
#34
Si mal no me equivoco, el error se debe a que tengas el header.php o algun otro file como los de idiomas de tu pagina codificado en UTF-8?

Pon los archivos en ANSI y el error desaparecerá. Porque al tener los archivos codificados en UTF8 se agrega unos espacios antes del <?php

Recuerda pasar tambien los acentos y eso, para que funcionen en ANSI

Salu2
#35
PHP / Re: error con MySQL
10 Julio 2009, 18:29 PM
La consulta en el PHP que subiste, está bien. No le encuentro error.

Pega el Conexion.php

-Puede que no hagas bien la conexión a MySQL.
-Usuario o contraseña equivocada? Te da error?
-La tabla existe?
#36
PHP / Re: Duda al cerrar la conexion mysql desde php
21 Diciembre 2008, 22:40 PM
CitarMi script se basa en en que mientras el usuario este logueado ( te hablo de miles de usuarios ) puede realizar consultas y updates, vale la pena realmente cerrar la conexion cada vez que el usuario hace uso de la base de datos o es mejor solo cerrar la conexion cuando el usuario se desloguie ??

Que es mas optimo?

Tienes que cerrar SI o SI para optimizar. Porque la conexion a la base de datos no se cierra normal, sino por un timeout, y como cada pagina hace una sesión nueva.

Por ejemplo si no pones mysql_close()
Usuario Pepito se loggea, entonces se hace una conexión a SQL... y luego va a editar su perfil, se hace otra conexión, cuando guarda los datos se hace otra conexión... Entonces ya tendrías como 3 conexiones abiertas por el mismo visitante, y aunque se haya salido de la pagina anterior, eso no se cierra solo y sigue abierta la conexion, solo porque no haz cerrado las sesiones anteriores cuando termino de cargar la página. Y ahi ya vas a petar todo el servidor mysql. O vas a usar tu limite de conexiones concurrentes por usuario.

En fin, tienes que poner el mysql_close en el final de cada pagina que haga una conexión, porque asi cuando termina de cargar la página se cierra la conexión y no se queda abierta. Ya que al cambiar de pagina, no se continua la misma conexión, sino que se crea otra.

Asi que no es cuestión de "vale la pena", sino que lo vas a tener que cerrar si o si.
#37
PHP / Re: Duda al cerrar la conexion mysql desde php
21 Diciembre 2008, 22:15 PM
CitarLa duda radica en, puedo cerrar la conexion que abri en config.php desde registro.php con mysql_close() ???
Sin problemas.

CitarNecesito forsozamente pasar el parametro con que esta dentro de config.php ??
No hace falta. Puedes pasar $con que es el mysql_connect, al mysql_close de registro.php, y se cerraría. pero lo pondrías mysql_close($con); y asi de simple. Sin agregar nada más, salvo el include al principio hacia el config. De todas formas, si pones mysql_close();, sin pasar ningún argumento, es válido tambíen y cerrará todas las conexiones.


Asi como hiciste, es como usan la mayoría de los scripts, para no tener que repetir codigo.
#38
Así esta mal.

Porque mysql_query retorna TRUE o verdadero si se ejecuta la query de forma correcta. No importa que no devuelva resultados, pero si se ejecuta bien sin dar resultados, se transforma en TRUE.

Asi de que esa forma no te va a funcionar.

Lo que tendrías que hacer es un contador según $result, y si devuelve 0, sería Error al intentar borrar. Sino, Borrado. Porque si hay dos usuarios con el mismo usuario y id, puede devolver 2. Esta es una opción, que lo podrías usar con mysql_num_rows, para saber la cantidad de registros devueltos.

Si no te funciona, porque no estoy seguro si funcione el mysql_num_rows con DELETE, puedes hacer otra query para chequear si existe usuario = $duke y id = $id, y si existe, lo borra, sino, borrar.
#39
Muy buena la idea. Yo me apunto. Intentaré ayudar con lo poco que se.

Estuve viendo el sistema, bastante simple y fácil de usar.

Citarobviamente solo creado por nosotros
Por ahi, hay una función copy and paste de php.net

Le veo dos problemas...
1.
Citarif(!function_exists('desde_hasta')){
...
}
Creo que eso es absolutamente innescesario, y bastante problemático. Yo opino como comentaste, que las funciones tendrían que tener un prefijo por usuario.
El problema de usar el if function_exists, es que si tienen el mismo nombre, una función, la primera que se incluya, va a tener prioridad, y la segunda, va a ser una función que ni se ejecute, y ni siquiera daría error para debuggear o cambiar el nombre. . Y además no creo que todos se pongan a buscar cada vez que creen una función si ya tomaron el nombre. Lo mejor sería usar un prefijo, o no usar ese if, para que al menos haya error y haya forma de debuggear y se pueda cambiar el nombre.

2.
El inclusiones.php, ¿incluir los files manualmente?. Mucho trabajo, y requiere de alguien que este pendiente de mirar los files y actualizar el file cada vez que se agregue un file nuevo, se borre uno, etc.

En fin, en mi opinión, yo pondría las carpetas de cada usuario en otra carpeta especial, por ej. userlib

En vez de tener todas las carpetas en / junto al inclusiones.php, en otra aparte, o sea php_libs/userlib. Por si se necesita alguna carpeta global, como para imagenes.

Que el directorio quede de una forma asi
Citarphp_libs/userlib/
php_libs/userlib/ing_amc
php_libs/userlib/whk
php_libs/imagenes/
php_libs/inclusiones.php
php_libs/README.txt

De esta forma, ponemos las carpetas de los usuarios en userlib, y podríamos hacer los includes de forma automáticamente, usando foreach con glob para cada carpeta dentro de userlib, y luego adentro de ese foreach, hacemos include a los files dentro de cada carpeta de cada usuario dentro de userlib.

Aqui dejo el código, en tan solo 5 líneas. En vez de tener 20000 para cada include de cada file y tener que actualizarlo manualmente.

Citarforeach(glob("".$PHPLIBS['DIR_CLASS']."userlib/*") as $usuario) {
	
foreach(
glob("".$usuario."/*.php") as $file) {
	
	
include_once 
$file;
	
}
}
#40
PHP / Re: Duda de php con sql [Extraer datos]
20 Diciembre 2008, 23:23 PM
Con mysql_num_rows...

Aqui te va un ejemplo

Citar$query mysql_query("SELECT * from mensaje WHERE usuario = 'id'");
$cantidad mysql_num_rows($query);
echo 
$cantidad;

Cambias la query por la tuya.