Foros del Web » Programando para Internet » PHP »

Ayuda

Estas en el tema de Ayuda en el foro de PHP en Foros del Web. Hola gente. Os pongo en situacion, mysql y php. Recupero la referencia de un fichero de la base de datos (ej: textos/fichero.txt y la coloco ...
  #1 (permalink)  
Antiguo 23/04/2004, 11:11
 
Fecha de Ingreso: octubre-2003
Mensajes: 16
Antigüedad: 14 años, 2 meses
Puntos: 0
Ayuda

Hola gente.
Os pongo en situacion, mysql y php.
Recupero la referencia de un fichero de la base de datos (ej: textos/fichero.txt y la coloco en una variable, $variable) y esa variable la coloco en el fopen ($fichero= fopen ($variable, 'w');)
por ahora todo bien? el caso es que no me abre nada, mientras que si pongo esto ($fichero= fopen('textos/fichero.txt', 'w'); ) me lo hace bien.
Alguien sabe porque puede ser ese problema??????????????????????????????????????
Muxas gracias
  #2 (permalink)  
Antiguo 23/04/2004, 11:21
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
No tan así

Primero $var lo que contiene es una cadena que es en este caso:
Código PHP:
 $var "textos/ficheros.txt"
por lo que no puedes poner directamente fopen($var,"w") porque $var no es un fichero sino una cadena. Ahora por qué lo haces así? Si lo haces de esa manera deberías hacer dos fopen. Te iría quedando así más o menos:
Código PHP:
 $var fopen("textos/ficheros.txt","w");
 
$fp fopen($var,"w"); 
y con todo y eso no estoy seguro que funcione.

Salu2
__________________
Ing. Reynier Pérez Mira
  #3 (permalink)  
Antiguo 23/04/2004, 11:38
 
Fecha de Ingreso: octubre-2003
Mensajes: 16
Antigüedad: 14 años, 2 meses
Puntos: 0
gracias

Gracias, lo probaré, pero si como dices no estas muy seguro de que funcione, como puedo hacer para que pueda abrir cualquier fichero dependiendo de lo que seleccione de la base de datos, tiene que haber algo, no?
  #4 (permalink)  
Antiguo 23/04/2004, 11:45
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Podrías poner en realidad que es lo que quieres

Pon en realidad que es lo que quieres hacer para ver si te puedo ayudar

Salu2
__________________
Ing. Reynier Pérez Mira
  #5 (permalink)  
Antiguo 23/04/2004, 11:52
 
Fecha de Ingreso: octubre-2003
Mensajes: 16
Antigüedad: 14 años, 2 meses
Puntos: 0
????

Te pongo el codigo:
este es el formulario inicial, donde selecciono el texto que quiero editar.
<FORM name = "banco" METHOD = "POST">
<?
include ("libreriaSQL.php");
$conexion= ConectarBaseDatos();
$atributo= BuscarQuienes ($conexion);
$j= 1;
for ($k=0; $k<sizeof($atributo); $k++){
echo "<tr>";
echo "<td width='100%'style='border-style: none; border-width: medium'><A HREF='abrirfichero.php?opcion1= $atributo[$j]>$atributo[$k]</a></td>";
echo "</tr>";
$k++;
$j++;
}
?>
Aqui es donde recibo la variable y "abro" el fichero

<?

$fichero= fopen($opcion1, 'a+') or die ('esto no funciona');
while(!feof($fichero)){
$buffer= fgets($fichero, 4096);
echo "$buffer ";
}

fclose($fichero);
?>


Muxas gracias
  #6 (permalink)  
Antiguo 23/04/2004, 12:29
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
nena: Me disculpas, mas tarde te lo respondo pues tengo clases ahora y me tengo que ir al aula. Por la noche te lo digo ¿OK? Claro sino lo hace alguien antes ;D
__________________
Ing. Reynier Pérez Mira
  #7 (permalink)  
Antiguo 23/04/2004, 16:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Debes usar comillas dobles donde se necesiten y completar estrictamente los tag's HTML como corresponda ..

En el URL .. si empleas códigos como \ .. comillas .. espacios .. etc peude darte problemas .. Para solventarlo usa la función urlencode() para codificar el URL antes de pasar ese dato de tu variable al script que lo procese y la función contraria urldecode() donde la recibas.

Para el tema de las comillas .. mejor usar en conjunto con la otra función stripslashes() (al recibir tu variable .. si es que corresponde) .. Para verlo mejor . .hazte un echo a tu $opcion1 y mira que recibes ahí.

Código PHP:
echo "<td width=\"100%\" style=\"border-style: none; border-width: medium\"><A HREF=\"abrirfichero.php?opcion1= urlencode($atributo[$j])\">$atributo[$k]</a></td>";
echo 
"</tr>"
Y en tu script que abre el archivo . .aplicas el urldecode()


Código PHP:
<?
$opcion1
=urldecode(stripslashes($_GET['opcion1']));

$ficherofopen($opcion1'a+') or die ('esto no funciona');
while(!
feof($fichero)){
$bufferfgets($fichero4096);
echo 
"$buffer ";


fclose($fichero);
?>
El uso de los arrays superglobales $_GET (etc) deberías usarlo (lee las FAQ's para ver el tema este).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 19:03.