Foros del Web » Programando para Internet » PHP »

Leer archivo en intranet

Estas en el tema de Leer archivo en intranet en el foro de PHP en Foros del Web. Hola : tengo un problema al tratar de leer un archivo csv, en una intranet, ya le busque y me dice ke el archivo no ...
  #1 (permalink)  
Antiguo 30/07/2004, 13:12
 
Fecha de Ingreso: julio-2004
Mensajes: 6
Antigüedad: 13 años, 4 meses
Puntos: 0
Leer archivo en intranet

Hola :

tengo un problema al tratar de leer un archivo csv, en una intranet, ya le busque y me dice ke el archivo no lo puede leer o no existe, aki esta el codigo ke estoy usando a ver si me pueden dar una oriwentacion de como accesar este archivo.

$archivo = fopen ("192.6.1.252/caja/web_socios.csv", "r");
//Comprobamos que existe
if(!$archivo)
{
echo "<p>Imposible abrir el &/%$& archivo.\n";
exit;
}
while ($temp = fgetcsv ($archivo, 1000, ","))
{
$cont++;
foreach ($temp as $k => $v)
{
$temp[$k] = addslashes($temp[$k]);
}
if($temp[4]<> '')
echo $temp[2];
}

fclose($archivo);
  #2 (permalink)  
Antiguo 30/07/2004, 13:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. supongo que esa IP y "caja" será el recuso comparido (directorio) y con permisos de acceso totales (en lectura al menos ..).

En tal caso .. la ruta sería del tipo
\\nombre_PC_o_IP\recurso_comparido\archivo.tal

Pero .. hay que escapar (creo recordad) las \ ...

Código PHP:
$archivo fopen ("\\\\192.6.1.252\\caja\\web_socios.csv""r"); 
Un saludo,
  #3 (permalink)  
Antiguo 30/07/2004, 16:18
 
Fecha de Ingreso: julio-2004
Mensajes: 6
Antigüedad: 13 años, 4 meses
Puntos: 0
Gracias por contestar, tengo todos los permisos de lectura y escritura y me sigue enviando el mismo error al momento de conectar y abrir el archivo

Warning: fopen(\\192.6.1.252\caja\web_socios.csv): failed to open stream: No existe el fichero o el directorio in /var/www/html/produccion/progs/leesocios.php on line 6

Imposible abrir el &/%$& archivo.
  #4 (permalink)  
Antiguo 30/07/2004, 16:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero usastes fopen() con los \\\\ .. \\... \\ o sólo con \\...\...\ ?

Un saludo,
  #5 (permalink)  
Antiguo 30/07/2004, 16:51
 
Fecha de Ingreso: julio-2004
Mensajes: 6
Antigüedad: 13 años, 4 meses
Puntos: 0
De las 2 formas lo use y me manda el mismo error
  #6 (permalink)  
Antiguo 30/07/2004, 17:13
 
Fecha de Ingreso: julio-2004
Ubicación: Poza Rica Ver.,
Mensajes: 16
Antigüedad: 13 años, 4 meses
Puntos: 0
http://mx.php.net/manual/es/function.fopen.php
"fopen() asocia un recurso con nombre, especificado por nombre_archivo, a una secuencia. Si nombre_archivo es de la forma "esquema://...", se asume que es una URL y PHP buscará por un gestor de protocolo (también conocido como envoltura) para tal esquema. Si no hay envolturas registradas para ese protocolo, PHP emitirá una noticia para ayudarle a rastrear problemas potenciales en su script, y luego continúa como si nombre_archivo indicara un archivo corriente."

Mira lo que pasa de acuerdo a la documentacion de PHP, es que para abrir un archivo en un equipo remoto necesitas el protocolo(esquema), por ejemplo.
si es por protocolo http, seria: http://192.6.1.252/caja/web_socios.csv
si es por protocolo ftp, seria: ftp://192.6.1.252/caja/web_socios.csv
si por protocolo smb, seria: smb://192.6.1.252/caja/web_socios.csv


Ya que si le colocas el protocolo a utilizar, lo toma como si fuera archivo un archivo local.

Recuerda si es ftp, o smb, deberia estar en un ligar publico.
  #7 (permalink)  
Antiguo 30/07/2004, 17:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues .. ahí ya no sé...

Te remito a la documentación oficial de PHP al respecto para que pruebes (se vé un "strema" que es "file:..." pruebalo).

http://www.php.net/manual/en/ref.stream.php
http://www.php.net/manual/en/streams.options.php

Otro detalle .. sería ver que S.O. usa tu Servidor y los PC's de la red .. tal vez necesites instalar algo tipo "Samba" para compartir archivos entre S.O. por la red? ..

Un saludo,
  #8 (permalink)  
Antiguo 30/07/2004, 17:20
 
Fecha de Ingreso: julio-2004
Ubicación: Poza Rica Ver.,
Mensajes: 16
Antigüedad: 13 años, 4 meses
Puntos: 0
corregido...

http://mx.php.net/manual/en/function.fopen.php
"fopen() binds a named resource, specified by filename, to a stream. If filename is of the form "scheme://...", it is assumed to be a URL and PHP will search for a protocol handler (also known as a wrapper) for that scheme. If no wrappers for that protocol are registered, PHP will emit a notice to help you track potential problems in your script and then continue as though filename specifies a regular file."

Mira lo que pasa de acuerdo a la documentacion de PHP, es que para abrir un archivo en un equipo remoto necesitas el protocolo(esquema), por ejemplo.
si es por protocolo http, seria: http://192.6.1.252/caja/web_socios.csv
si es por protocolo ftp, seria: ftp://192.6.1.252/caja/web_socios.csv
si por protocolo smb, seria: smb://192.6.1.252/caja/web_socios.csv


Ya que si no le colocas el protocolo a utilizar, lo toma como si fuera archivo un archivo local.

Recuerda si es ftp, o smb, deberia estar en un lugar publico., sin permisos de acceso

podrias probar con las Stream Functions

Código PHP:
[CODE]/* Read remote file from [url]www.example.com[/url] using HTTP */
$httpfile  file_get_contents("http://www.example.com/foo.txt");

/* Read remote file from [url]www.example.com[/url] using HTTPS */
$httpsfile file_get_contents("https://www.example.com/foo.txt");

/* Read remote file from ftp.example.com using FTP */
$ftpfile  file_get_contents("ftp://user:[email protected]/foo.txt");

/* Read remote file from ftp.example.com using FTPS */
$ftpsfile  file_get_contents("ftps://user:[email protected]/foo.txt");[/CODE
Nota: te escribe la referncia de la documentacion en Ingles, por que la de esta en español tiene palabras mal traducidas y fuera de contexto.
  #9 (permalink)  
Antiguo 30/07/2004, 17:54
 
Fecha de Ingreso: julio-2004
Mensajes: 6
Antigüedad: 13 años, 4 meses
Puntos: 0
Ya me quito el error de la conectado ya lo pasa pero al momento de leer o cargar el archivo me manda otro error
ya lo leyo
Warning: fgetcsv(): supplied argument is not a valid stream resource in /var/www/html/produccion/progs/leesocios.php on line 13

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/html/produccion/progs/leesocios.php on line 25

<?php
include("../includes/conectar.i");
//Abrimos el archivo
//$archivo = fopen ("web_socios.csv", "r");
//Comprobamos que existe
$archivo = ("ftp://192.6.1.252/caja/web_socios.csv");
if(!$archivo)
{
echo "<p>Imposible abrir el &/%$& archivo.\n";
exit;
}
echo "ya lo leyo";
while ($temp = fgetcsv($archivo, 1000, ";"))
{
$cont++;
foreach ($temp as $k => $v)
{
$temp[$k] = addslashes($temp[$k]);
}
if($temp[4]<> '')
echo $temp[3];
// echo mysql_query("INSERT INTO `socios` VALUES ('$temp[0]', '$temp[1]', '$temp[2]', '$temp[3]', '$temp[4]', '$temp[5]', '$temp[6]', '$temp[7]', '$temp[8]', '$temp[9]', '$temp[10]', '$temp[11]', '$temp[12]', '$temp[13]', '$temp[14]', '$temp[15]', '$temp[16]', '$temp[17]','$temp[18]');",$Conexion);
}

fclose($archivo);
?>
  #10 (permalink)  
Antiguo 31/07/2004, 15:24
 
Fecha de Ingreso: julio-2004
Ubicación: Poza Rica Ver.,
Mensajes: 16
Antigüedad: 13 años, 4 meses
Puntos: 0
<?php
include("../includes/conectar.i");
//Abrimos el archivo
//$archivo = fopen ("web_socios.csv", "r");
//Comprobamos que existe
$archivo = ("ftp://192.6.1.252/caja/web_socios.csv");
if(!$archivo)
{
echo "<p>Imposible abrir el &/%$& archivo.\n";
exit;
}
echo "ya lo leyo";
while ($temp = fgetcsv($archivo, 1000, ";"))
{
$cont++;
foreach ($temp as $k => $v)
{
$temp[$k] = addslashes($temp[$k]);
}
if($temp[4]<> '')
echo $temp[3];
// echo mysql_query("INSERT INTO `socios` VALUES ('$temp[0]', '$temp[1]', '$temp[2]', '$temp[3]', '$temp[4]', '$temp[5]', '$temp[6]', '$temp[7]', '$temp[8]', '$temp[9]', '$temp[10]', '$temp[11]', '$temp[12]', '$temp[13]', '$temp[14]', '$temp[15]', '$temp[16]', '$temp[17]','$temp[18]');",$Conexion);
}

mira creo que tienes un error al abrir el recurso:

deveria ser:
Código:
$archivo =fopen ("ftp://192.6.1.252/caja/web_socios.csv","r"); 
verifica eso....
te paso el enlace de fgetcsv(al final viene un ejemplo sencillo).
http://mx.php.net/manual/en/function.fgetcsv.php
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 23:40.