Foros del Web » Programando para Internet » PHP »

fopen()

Estas en el tema de fopen() en el foro de PHP en Foros del Web. fopen() abre cualquier tipo de archivos? puedo hacer un echo luego de utilizar el fopen() ?...
  #1 (permalink)  
Antiguo 04/05/2004, 12:02
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicacin: Santo Domingo
Mensajes: 2.712
Antigedad: 22 aos, 2 meses
Puntos: 6
fopen()

fopen() abre cualquier tipo de archivos?
puedo hacer un echo luego de utilizar el fopen() ?
__________________
www.dataautos.com
  #2 (permalink)  
Antiguo 04/05/2004, 12:17
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigedad: 21 aos, 10 meses
Puntos: 16
Hola,

Si, abre todo tipo de ficheros (supongo que habra excepciones), tanto binarios como de texto.

Y antes del echo, tendras que leer el contenido con fread() (www.php.net/fread).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 04/05/2004, 13:04
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicacin: Santo Domingo
Mensajes: 2.712
Antigedad: 22 aos, 2 meses
Puntos: 6
Bueno estuve viendo sobre fread()
y esto es lo que pude sacar
osea me ta tirando codigos ascii
Cdigo PHP:
$fichero="excel.xls";
header ("Content-Type: application/vnd.ms-excel");
header ("Content-Disposition: inline; filename=$fichero");
$fd=fopen($fichero,"r");
$contenido fread($fdfilesize ($fichero));
print(
$contenido);
fclose ($fd); 
y lo que me despliega es esto:
Cdigo PHP:
>  F?pjcalcano08 Ba=?=-[;18X@"1Arial1Arial1Arial1Arial"$"#,##0_);\("$"#,##0\)!"$"#,##0_);[Red]\("$"#,##0\)""$"#,##0.00_);\("$"#,##0.00\)'""$"#,##0.00_);[Red]\("$"#,##0.00\)7*2_("$"* #,##0_);_("$"* \(#,##0\);_("$"* "-"_);_(@_).))_(* #,##0_);_(* \(#,##0\);_(* "-"_);_(@_)?,:_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)6+1_(* #,##0.00_);_(* \(#,##0.00\);_(* "-"??_);_(@_)                                +  )  ,  *     ????????????`?Sheet1?@ Sheet2?G Sheet3?Tc titulo 1titulo2titulo3titulo4titulo5titulo6titulo7titulo8 
y entonces?
__________________
www.dataautos.com
  #4 (permalink)  
Antiguo 04/05/2004, 13:13
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigedad: 21 aos, 10 meses
Puntos: 16
Hola,

Pues supongo que tu navegador no esta configurado para ver inline los ficheros binarios xls. Prueba a ponerlo attachment y darle la opcion de abrir.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 04/05/2004, 13:25
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicacin: Santo Domingo
Mensajes: 2.712
Antigedad: 22 aos, 2 meses
Puntos: 6
de esa manera logre abrirlo en el navegador :), pero ejej esta como si fuese el puro excel..

como puedo hacer para que no se pueda editar?
__________________
www.dataautos.com
  #6 (permalink)  
Antiguo 04/05/2004, 13:52
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigedad: 21 aos, 10 meses
Puntos: 16
Lo que se modifica es la copia que se ha bajado al equipo del cliente, no el del servidor.

De todas formas, creo que puedes crear un xls con el excel en el que no se pueda modificar nada.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 04/05/2004, 14:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicacin: Santiago - Chile
Mensajes: 34.417
Antigedad: 22 aos, 3 meses
Puntos: 129
Por lo menos los documentos de Word se puede bloquear para que queden de slo lectura y hasta con contrasea. Supongo que exell tendr algo as.

Recuerda que de esa forma .. dependes de que el cliente (navegador) tenga instalado Exel o algn visor para archivos Exel . .si no lo tiene ver todo ese "codigo extrao" que mostrastes en su navegador.

Un saludo,

PD: readfile() te hace lo mismo que todo ese fopen() y fread() + el echo a lo que leistes ...
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos aos. Igualmente los seguir leyendo.
  #8 (permalink)  
Antiguo 04/05/2004, 14:45
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicacin: Santo Domingo
Mensajes: 2.712
Antigedad: 22 aos, 2 meses
Puntos: 6
si ya vi lo de readfile () gracias ;)

otra pregunta, si lee el archivo, y quiero recorrerlo...uso un while(!feof), pero el contenido de las celdas como lo relaciono? como se accesa al contenido de una celda?

Saludos
__________________
www.dataautos.com
  #9 (permalink)  
Antiguo 04/05/2004, 14:50
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicacin: Puerto Montt
Mensajes: 3.667
Antigedad: 20 aos, 6 meses
Puntos: 11
eso no es facil, la forma mas simple es usar la api de excel a traves de la clase COM.
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseo de flyers online muy fcil de usar.
  #10 (permalink)  
Antiguo 04/05/2004, 14:52
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicacin: Santo Domingo
Mensajes: 2.712
Antigedad: 22 aos, 2 meses
Puntos: 6
sip, pero wow!!! no se trabajar con API :(
__________________
www.dataautos.com
  #11 (permalink)  
Antiguo 04/05/2004, 15:17
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicacin: Puerto Montt
Mensajes: 3.667
Antigedad: 20 aos, 6 meses
Puntos: 11
en www.php.net/manual/es/ref.com.php puedes encontrar pequeos ejemplos de uso de la clase para instanciar objetos de excel entre otros.
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseo de flyers online muy fcil de usar.
  #12 (permalink)  
Antiguo 04/05/2004, 15:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicacin: Santiago - Chile
Mensajes: 34.417
Antigedad: 22 aos, 3 meses
Puntos: 129
Tienes classes para trabajar con Exel va COM (OJO: COM requiere de un servidor PHP bajo windows
) .. pero usando google nuevamente me sali esto:

http://paggard.com/projects/xls.reader/
(no es gratuito ..)

Y esta basada en COM:
http://www.phpclasses.org/browse/package/86.html


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos aos. Igualmente los seguir leyendo.
Atencin: Ests leyendo un tema que no tiene actividad desde hace ms 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 05:20.