Foros del Web » Programando para Internet » PHP »

hacer un array de un txt

Estas en el tema de hacer un array de un txt en el foro de PHP en Foros del Web. hola a todos: tengo pequeño gran problema , estoy haciendo una pequeña funcion de un select, que anda bien, ahora mi tema es que quiero ...
  #1 (permalink)  
Antiguo 05/09/2006, 10:26
Avatar de decano  
Fecha de Ingreso: diciembre-2005
Ubicación: Montevideo, Uruguay
Mensajes: 146
Antigüedad: 18 años, 3 meses
Puntos: 0
hacer un array de un txt

hola a todos:
tengo pequeño gran problema , estoy haciendo una pequeña funcion de un select, que anda bien, ahora mi tema es que quiero que los dtos los levante de un txt donde se le puedan agragr datos despues

Código PHP:
function select($opcion,$seccion)

{
      
        echo 
'<select name="'.$seccion.'">';
        
        foreach (
$opcion as $valor)
        {
            echo 
'<option value="'.$valor.'">'.$valor.'</option>';
        }       
        echo 
'</select>';

esto funciona levantando este array

Código PHP:
$autos = array(
'Alfa',    
'Asia',
'Audi',
'BMW',
'Chevrolet',
'Chrysler',
'Citroën',
'Daewoo',
'Daihatsu',
'Dodge',
'Fiat',
'Ford',
'GMC',
'Honda',
'Hyundai',
'Isuzu',
'Iveco',
'Jeep',
'Kia',
'Lada',
'Land Rover',
'Mazda',
'Mercedes Benz',
'Mitsubishi',
'Nissan',
'Opel',
'Peugeot',
'Porsche',
'Renault',
'Rover',
'Sangyong',
'Seat',
'Subaru',
'Suzuki',
'Tata',
'Toyota',
'Volkswagen',
'Volvo'
); 
agora bien tengo esos datos en archivo de texto lo abro bien lo leo bien pero a la hora de que me lo transform en vector es ahi cuando surge mi problema alguna solucion
gracias
  #2 (permalink)  
Antiguo 05/09/2006, 11:27
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
Creo que el error a de estar en la forma en que lees el archivo.txt, además de que tienes errores de sintaxis, nunca debes de pones comillas dobles dentro de las simples (' "" '), pero aquí te va un ejemplo haber si te queda más claro.

Suponiendo que tu archivo .txt se llama autos.txt y presenta esta forma:

Alfa,Asia,Audi,BMW,Chevrolet,Chrysler,Citroën,Daew oo,Daihatsu

En tu archivo .php pondrías algo así:

<?php
function select($opcion,$seccion)
{
echo "<select name='".$seccion."'>";
for ($e = 0; $e < count($opcion); $e++)
{
echo "<option value = '".$opcion[$e]."'>".$opcion[$e]."</option>";
}
echo "</select>";
}

$fp = fopen ('autos.txt', 'r');
$datos = fread ( $fp, filesize ('autos.txt') );
$combiertearray = explode (",",$datos);
select($combiertearray,'autos');
fclose($fp);
?>

Espero haber podido ayudarte en algo o cuando menos haberte dado una idea.
Suerte
  #3 (permalink)  
Antiguo 05/09/2006, 11:35
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 20 años, 5 meses
Puntos: 4
El ejemplo que da Erik esta bien

pero eso de las comillas dobles dentro de las simples (' "" ') no es un error de sintaxis incluso Erik a escrito mal el html generado ya que segun las normas W3c el html xhtml o xml deberia tener sus atributos con comillas dobles y no simples.

Ojo con eso
  #4 (permalink)  
Antiguo 05/09/2006, 11:42
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
Cita:
El ejemplo que da Erik esta bien
pero eso de las comillas dobles dentro de las simples (' "" ') no es un error de sintaxis incluso Erik a escrito mal el html generado ya que segun las normas W3c el html xhtml o xml deberia tener sus atributos con comillas dobles y no simples.



Tu lo has dicho al generar en HTML pero en PHP no es lo mismo tal ves quede má claro con este ejemplo:

<?php
$palabra = 'Erik';
echo '$palabra<br/>'; // no sustituirá la variable por su valor
echo "palabra<br/>"; // se verá Erik
?>

Ahora entiendes a lo que me refiero?
  #5 (permalink)  
Antiguo 05/09/2006, 12:58
Avatar de decano  
Fecha de Ingreso: diciembre-2005
Ubicación: Montevideo, Uruguay
Mensajes: 146
Antigüedad: 18 años, 3 meses
Puntos: 0
hola y gracias por tu respuesta, probare asi. gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:27.