1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

Lectura de un TXT y mostrar su contenido

Tema en 'Tutoriales Desarrollo Web' iniciado por alejandrog95, 12 May 2008.

  1. alejandrog95

    alejandrog95 Nuevo usuario

    Hola:
    Estoy queriendo leer un archivo TXT con 4 filas y 3 campos en cada una de ellas ( separados por ";")

    Intenté lo siguiente

    Código PHP:
    $file = file ("productos.txt"); // asocio todo el TXT a una variable
    $productos = explode(";", $file); // recorto los strings que están entre los separadores

    Si "Productos.txt" tuviera una sola fila ( Ejemplo: Mayonesa;200gr;$9,99 )
    entiendo que $productos[0] = "Mayonesa", $productos[1] = "200gr" y $productos[2] = "$9,99"

    SIN EMBARGO AL ESCRIBIR

    Código PHP:
    echo $productos[0];

    NO MUESTRA NADA .


    Si el TXT tuviera más líneas del mismo tipo, entiendo que debería asignar $productos a otra variable ( Ejemplo: $todos = $productos )

    y podría mostrarlo así...
    echo $todos[1][1];

    PERO TAMPOCO MUESTRA NADA

    Alguna sugerencia ?
    Gracias por responder.
    Alejandrog95
     
  2.  
  3. elQuique

    elQuique Usuario activo

    Utiliza un:
    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->
    echo '<pre>' . print_r($productos, true) . '</pre>';
    <!--c2--></div><!--ec2-->

    luego del explode para ver de que forma queda creado el array y de esa forma depurar mejor tu código.
     
  4. rick.hunter

    rick.hunter Nuevo usuario

    el error es que la funcion file() te asigna el contenido a una matriz un elemento por linea y no a una variable

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->$file = file('productos.txt');
    $productos = array();
    foreach($file as $line) {
    $productos[] = split(';', $line);
    }<!--c2--></div><!--ec2-->



    elquique que es mas recomendable print_r() o var_dump()?
     
  5. elQuique

    elQuique Usuario activo

    A mi me gusta print_r porque tiene la posibilidad de devolverme un valor que puedo guardar en otra variable

    <a href="http://www.php.net/manual/es/function.print-r.php" target="_blank">http://www.php.net/manual/es/function.print-r.php</a>

    <a href="http://www.php.net/manual/es/function.var-dump.php" target="_blank">http://www.php.net/manual/es/function.var-dump.php</a>

    $a = array('manzanas', 'peras', 'limones');

    si hago

    $b = var_dump($a);

    no pasa nada porque como vez, en los links mas arriba devuelve void

    en cambio si uso

    $b = print_r($a);

    obtengo en $b ese contenido, con lo que luego puedo hacer algo como:

    echo $b[0];

    echo $b[1];

    :) y usarlos separados para otros fines.
     
  6. rick.hunter

    rick.hunter Nuevo usuario

    aaahhh... chido! yo uso el var_dump exclusivamente para depurar y en cuanto encuentro el error borro la linea... gracias
     
  7. elQuique

    elQuique Usuario activo

    Claro es que yo depuro diferente :p y lo uso para otras cosas como leer webservices y generar xml.
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·