Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/03/2012, 18:33
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: crear archivo plano con cierta estructura

Bueno, siguen sin darme los números
porque
6 +
1 (espacio) +
16 +
2 (espacios)+
3 +
2 (espacios)+
5

= 35 y no 33, daría 33 si siempre separases por un espacio
Igual te hice esto

Código PHP:
Ver original
  1. <?php
  2. // linea en que coincide todo menos el nombre
  3.  
  4. $id="999999";
  5. $nombre="AAAA AAAA AA AAAA AAAA AAAAA AAAA";
  6. $num_uno="999";
  7. $num_dos="99999";
  8. // usamos tabulaciones como separadores
  9. $linea = file_put_contents("lista.txt","$id\t". substr($nombre,0,16). "\t\t$num_uno\t\t$num_dos\n", FILE_APPEND | LOCK_EX);
  10.  
  11. // con las longitudes inexactas
  12.  
  13. $id="444";
  14. $id = str_pad($id, 6,' ',STR_PAD_LEFT);  
  15. $nombre="XX XXXX ZZ DDOOOW"; // W es el caracter 17, se recorta
  16. $nombre = substr($nombre,0,16);
  17. $nombre = str_pad($nombre, 16,' ',STR_PAD_RIGHT);
  18. $num_uno="23";
  19. $num_uno = str_pad($num_uno, 3,' ',STR_PAD_LEFT);
  20. $num_dos="5555";
  21. $num_dos = str_pad($num_dos, 5,' ',STR_PAD_LEFT);
  22. // usamos espacios en blanco como separadores
  23. $linea = file_put_contents("lista.txt","$id $nombre  $num_uno  $num_dos\n", FILE_APPEND | LOCK_EX);
  24.  
  25. if(file_exists('lista.txt')){
  26. echo "<pre>";
  27. include('lista.txt');
  28. echo "</pre>";
  29. }
  30.  
  31. ?>

usar tabulaciones como separadores puede ser util para procesar el archivo de texto posteriormente ya que el nombre puede contener espacios en blanco

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.