Cómo leer en un archivo .txt una línea al azar o aleatoria con PHP utilizando rand y count

Si tenemos un archivo .txt podemos leer gracias a PHP una línea aleatoria del mismo.

Imaginemos que tenemos el siguiente archivo 1.txt:

1,primera
2,segunda
3,tercera
4,cuarta
5,quinta
6,sexta
7,septima

Para leer una línea al azar de este .txt podemos crear el siguiente .php:

$contenido = file("1.txt");
$linea_azar = $contenido[rand(0, count($contenido) - 1)];
echo $linea_azar;

Con esto ya podríamos leer las filas del archivo 1.txt al azar.

Cómo solucionar el error Maximum execution time of 300 seconds al importar archivos en phpmyadmin

Cuando importamos un archivo muy grande desde phpmyadmin en XAMPP puede que tardemos más de 300 segundos en cargarlo y nos avise del siguiente error:

Maximum execution time of 300 seconds

Para solucionarlo en XAMPP tenemos que ir al archivo config.inc.php que está en la carpeta phpmyadmin/ y añadirle al final (pero antes del símbolo ?>) lo siguiente:

$cfg['ExecTimeLimit'] = 6000;

NOTA: El código $cfg[‘ExecTimeLimit’] = ya no aparece más en las últimas versiones de XAMPP (Gracias por la aportación de Piet Hermans, ver su comentario más abajo).

Con esto ya está hasta 6000 segundos cargando el archivo (si no es suficiente aumentamos el número hasta que lo podamos cargar).

También hay que modificar el php.ini cambiando los valores por los siguientes:

max_execution_time = 5000

max_input_time = 5000

Con esto a mi me ha funcionado perfectamente, de todas formas no se si el último punto es prescindible pero estos han sido los pasos que he seguido para solucionar el problema Maximum execution time of 300 seconds en XAMPP.

Cómo solucionar el error #2006 en XAMPP al importar archivos en phpmyadmin

Al importar una base de datos en phpmyadmin utilizando XAMPP podemos tener el siguiente error:

#2006 - MySQL server has gone away

Para solucionarlo tenemos que hacer lo siguiente:

  1. Editamos el archivo my.ini que en mi instalación está en: C:\xampp\mysql\bin\
  2. Buscamos la línea donde tenemos: max_allowed_packet e incrementamos su valor de 1M a 10M
  3. Guardamos el archivo my.ini
  4. Reiniciamos Apache y MySql en XAMPP

Cómo recuperar o cambiar la contraseña del administrador en Drupal 6 desde phpmyadmin

Si tenemos una instalación en Drupal 6 en la que no nos acordamos de la contraseña ni el email del administrador puede ser casi imposible recuperar nuestra cuenta de administrador.

La buena noticia es que si se puede recuperar la contraseña (realmente cambiamos la contraseña) si podemos acceder a la base de datos. En este caso hemos utilizado phpmyadmin.

Accedemos al phpmyadmin y a la base de datos de la instalación de Drupal 6. Pinchamos la pestaña «SQL» y escribimos el siguiente código para que sea ejectuado:

UPDATE users SET pass = MD5('newpassword') WHERE uid=1;

donde users será el nombre de la tabla donde están los usuarios. En algunas instalaciones se puede llamar drupal_users. En vez de drupal_users newpassword pondremos la contraseña que queremos.

Con esto ya podremos entrar con el nombre del administrador y la nueva contraseña que hemos creado.

Cómo aumentar la capacidad de phpmyadmin importando archivos

Cuando estamos pasando un proyecto de un servidor a otro, por ejemplo en Drupal, en el nuevo servidor tendremos que crear una base de datos e importar la base de datos del proyecto que teníamos en el servidor antiguo. Para esto vamos al phpmyadmin, elegimos la base de datos que hemos creado donde vamos a efectuar la importación y damos al botón importar.

Nos podemos encontrar el problema que el tamaño máximo a importar en phpmyadmin es inferior al tamaño de nuestra copia de la base de datos que queremos importar.

Para solucionar este problema tenemos que hacer lo siguiente:

  1. Ir al archivo php.ini de nuestro Apache
  2. Buscar la línea donde tenemos: upload_max_filesize. Normalmente el límite por defecto son 2 Mb, quedando de esta forma: upload_max_filesize = 2M
  3. Poner en esa línea el tamañao máximo del archivo que importemos. Si queremos tener un máximo de 20 Mb, por ejemplo, quedaría así: upload_max_filesize = 20M
  4. Grabamos el archivo y reiniciamos apache.
  5. Cuando volvamos a intentar importar un archivo en una base de datos en phpmyadmin tendremos un tamaño máximo de 20 Mb