Ver Mensaje Individual
  #35 (permalink)  
Antiguo 29/11/2013, 17:30
Avatar de Dalam
Dalam
 
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: duda en buscar, editar y eliminar en archivo .user

Cita:
Iniciado por xSkArx Ver Mensaje
pero su estructura es parecida a un archivo ini
xSkArx la estructura no es que sea parecida, si no que es la estructura de un archivo ini, pero con la extension cambiada


Cita:
Si aun asi quieres seguir usando la estructura de archivo que tienes, estas son las funciones que necesitas
Código PHP:
Ver original
  1. <?php
  2. function lee_archivo($archivo){
  3.     if(is_file($archivo)) return file_get_contents($archivo);
  4.     else{
  5.         echo 'El archivo especificado no existe.';
  6.         exit;
  7.     }
  8. }
  9. function escribe_archivo($archivo, $contenido_archivo){
  10.     $fp = fopen($archivo, 'w');
  11.     fwrite($fp, $contenido_archivo);
  12.     fclose($fp);
  13. }
  14.  
  15. function agrega($archivo, $user, $pwd, $group){
  16.     $salto = "\r\n";
  17.     $contenido_archivo = lee_archivo($archivo);
  18.     $contenido_archivo .= '[account]'.$salto.'user = '.$user.$salto.'pwd = '.$pwd.$salto.'group = '.$group.$salto.$salto;
  19.     escribe_archivo($archivo, $contenido_archivo);
  20. }
  21.  
  22. function borra($archivo, $patron, $valor){
  23.     $salto = "\r\n";
  24.     $valor = $patron.' = '.$valor;
  25.     $contenido_archivo = lee_archivo($archivo);
  26.     $contenido_archivo = explode('[account]'.$salto, $contenido_archivo);
  27.     foreach($contenido_archivo as $key => $value){
  28.         if(strpos($value, $valor) !== false) unset($contenido_archivo[$key]);
  29.         unset($key,$value);
  30.     }
  31.     if(count($contenido_archivo) > 1) $contenido_archivo = implode('[account]'.$salto, $contenido_archivo);
  32.     else $contenido_archivo = ''; //Esto es para evitar que escriba en el archivo si no existen datos
  33.     escribe_archivo($archivo, $contenido_archivo);
  34. }
  35. ?>
Cita:
/**************************************/
/* Modo de uso */
/**************************************/

/* Para agregar datos */
agrega('usuario.user','usuario','contraseña','1');
/* Para borrar por usuario */
borra('usuario.user','user','1');
/* Para borrar por password */
borra('usuario.user','pwd','4');
/* Para borrar por grupo */
borra('usuario.user','group','7');
/* Para mostrar el contenido del archivo */
print(lee_archivo('usuario.user'));
?>

Última edición por Dalam; 29/11/2013 a las 19:07