Foros del Web » Programando para Internet » PHP »

No puedo abrir un archivo...

Estas en el tema de No puedo abrir un archivo... en el foro de PHP en Foros del Web. Buenas tardes a Todos! Estoy haciendo una pequeña rutina que consiste en tomar un archivo de texto separado por la barra parada "|", luegon leo ...
  #1 (permalink)  
Antiguo 04/01/2008, 16:47
 
Fecha de Ingreso: enero-2008
Mensajes: 8
Antigüedad: 16 años, 3 meses
Puntos: 0
No puedo abrir un archivo...

Buenas tardes a Todos!

Estoy haciendo una pequeña rutina que consiste en tomar un archivo de texto separado por la barra parada "|", luegon leo línea por línea con el fgets(), luego le hago un explode() y manipulo los datos. Esto lo hago a través de un form en donde el usuario me indica el archivo a procesar vía un input type="file".

El caso es que a nivel localhost, jala a la perfección, pero una vez que lo subí a la web, anda vete me marca:

Warning: fopen() [function.fopen]: Unable to access C:\\aeromexico.txt in \\172.21.6.23\s010\realdetesistan.com\CGIBIN\
procesa.php on line 35
Warning: fopen(C:\\aeromexico.txt) [function.fopen]: failed to open stream: No such file or directory in \\172.21.6.23\s010
\realdetesistan.com\CGI-BIN\procesa.php on line 35
<<<<< No se ha podido abrir el archivo C:\\aeromexico.txt

En el archivo procesa.php al llegar al momento en el que intenta abrir el archivo que quiero manipular, que en este caso es aeromexico.txt truena. La línea 35 que marca el error es: $Manejador = fopen($archivo,'r');

Hay alguna sugerencia?

Pongo parte del archivo procesa.php:

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
$DatForm=$_POST;
else
$DatForm=$_GET;
$archivo=$DatForm[nombre01]; //Nombre del archivo a precalificar
$nDifEng=$DatForm[enganche01]; //Diferencia de enganche
$nImpYDer=$DatForm[impuestos01]/100; //Impuestos y Derechos para el Cálculo
$nUdi=$DatForm[udi01];
$cDestino=$DatForm[destino01];
$ArcSal=$DatForm[salida01];
include 'valores.php';
echo "Contenido del archivo $archivo <p>";
echo "Destino del Resultado $cDestino <p>";
echo "<hr><p>";
$Manejador = fopen($archivo,'r'); // Abrimos el archivo lectura
if(!$Manejador) // Comprobamos que no haya habido problema
{
echo '<<<<< No se ha podido abrir el archivo '.$archivo ;
exit;
}

Uso PHP 5.2.1
  #2 (permalink)  
Antiguo 04/01/2008, 18:45
 
Fecha de Ingreso: junio-2007
Ubicación: por ahi
Mensajes: 262
Antigüedad: 16 años, 9 meses
Puntos: 4
Re: No puedo abrir un archivo...

hallo

El error esta en que el nombre del archivo que llega en la variable POST es el nombre en el computador cliente necesita abrir el archivo del servidor

El nombre que tiene el archivo y todos los datos sobre el estan el la variable

$_FILES

de hay se toma el verdadero nombre del archivo a abrir.
  #3 (permalink)  
Antiguo 05/01/2008, 12:12
 
Fecha de Ingreso: enero-2008
Mensajes: 8
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Re: No puedo abrir un archivo...

hernandos, gracias por responder!

Fijate que le hice un display a la variable $_FILES pero me llega en blanco, este fue el codigo:

echo "--Variables FILES-~<br>";
foreach ($_FILES as $indice => $valor) {
echo "$indice: $valor<br>";
}
echo "--Variables GET--<br>";
foreach ($_GET as $indice => $valor) {
echo "$indice: $valor<br>";
}
echo "--Variables POST--<br>";
foreach ($_POST as $indice => $valor) {
echo "$indice: $valor<br>" ;
}


Y esto me aparece:
--Variables FILES-~
--Variables GET--
--Variables POST--
nombre01: C:\\webw\\aeromexico.txt
destino01: pantalla
salida01: salida.txt
enganche01: 10000
udi01: 3.95
impuestos01: 2.5
  #4 (permalink)  
Antiguo 05/01/2008, 13:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: No puedo abrir un archivo...

Que tipo de campo (en tu formulario) es nombre01? para enviar archivos el campo tiene que ser <input type="file"> y el encoding de tu campo debe de ser multipart/form-data para que puedas enviar archivos y rescatarlos en la variable $_FILES.

Saludos.
  #5 (permalink)  
Antiguo 07/01/2008, 14:47
 
Fecha de Ingreso: enero-2008
Mensajes: 8
Antigüedad: 16 años, 3 meses
Puntos: 0
De acuerdo Re: No puedo abrir un archivo...

Cita:
Iniciado por GatorV Ver Mensaje
Que tipo de campo (en tu formulario) es nombre01? para enviar archivos el campo tiene que ser <input type="file"> y el encoding de tu campo debe de ser multipart/form-data para que puedas enviar archivos y rescatarlos en la variable $_FILES.

Saludos.
Estimados compañeros, buenas tardes!

Gracias a ambos por su colaboración ya logré el objetivo de mi rutina.

La verdad es que estaba diseñada para trabajar de manera local, ya entendí la lógica para hacerlo en el servidor, le hice las modificaciones y jaló a todo dar!
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 13:56.