Foros del Web » Programando para Internet » PHP »

problema con funcion exec()

Estas en el tema de problema con funcion exec() en el foro de PHP en Foros del Web. Buenas a todos, estoy intentando abrir el notepad desde php, por ejemplo hago Código PHP: <?PHP ... exec ( notepad . exe c : pathfile . ...
  #1 (permalink)  
Antiguo 20/10/2003, 16:17
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 15 años, 1 mes
Puntos: 2
problema con funcion exec()

Buenas a todos, estoy intentando abrir el notepad desde php, por ejemplo hago

Código PHP:
<?PHP
...
exec(notepad.exe c:pathfile.txt);
...
?>
Y no tengo suerte, como debo hacer para que me ejecute el exec, ya que no doy pie con bola con este asunto.

desde ya muchas gracias y saludos a todos
  #2 (permalink)  
Antiguo 20/10/2003, 16:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Te faltaron las comillas en el comando a ejecutar ..

exec("comandos ...");

Y .. tal vez sea necesario que indiques la ruta completa hacia tu notepad.exe tipo c:\windows\nose\notepad.exe (o donde se encuentre) .. junto con la del própio archivo que le pasas como parámetro (y esperar que notepad.exe acepte archivos como parámetro)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 20/10/2003, 16:25
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Supongo que eres consciente que eso hará que PHP abra un archivo con notepad EN EL SERVIDOR.

Lo digo porque si pretendes leer el archivo, igual te iría mejor usar fopen().
__________________
M a l d i t o F r i k i
  #4 (permalink)  
Antiguo 20/10/2003, 16:38
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 15 años, 1 mes
Puntos: 2
Gracias cluster, pero no hay caso por mas que haga

exec("C:\WINNT\system32\notepad.exe c:\pathfile.txt");

exec("notepad.exe c:\pathfile.txt");


desde ya muchas gracias
  #5 (permalink)  
Antiguo 20/10/2003, 17:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero ...

1) leistes el comentario de cain?

2) Esperas que te ejecute el notepad .. y se abra con ese archivo?

Si es lo segundo (leyendo detenidamente el comentario de Cain) .. deberías usar funciones COM. Las funciones exec() y compañia ejecutarian ese .exe o lo que corresponda, recogiendo o no (depende la que uses) su resultado para entregartelo a la "programación" (no son "lanzadores de aplicaciones" .. solo ejecutan y recogen lo que puedan entregar ..)

Revisa:
www.php.net/com

De esta forma (por COM) podrías ejecutar el "notepad.exe" del Cliente (y a todo esto PHP debería correr bajo windows).


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 21/10/2003, 09:17
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 15 años, 1 mes
Puntos: 2
Gracias Cluster y Cain, el tema es que debe abrir el Notepad del puesto cliente y el archivo a abrir esta en el servidor.
Pues entonses la pregunta es como hago esto.
Ya que.

Ensarte COM:: COM (ensarte module_name [, ensarte server_name [, int codepage]])

Module_name
Nombre o clase-id del componente solicitado.

Server_name
El nombre del servidor DCOM del que el componente debería ser traído. Si la INUTILIDAD, localhost es asumida. Permitir DCOM com.allow_dcom tiene que ser puesto a VERDADERO en php.ini.

Codepage
Especifica el codepage que es usado convertir php-cuerdas a unicode-cuerdas y viceversa. Valores posibles son CP_ACP, CP_MACCP, CP_OEMCP, CP_SYMBOL, CP_THREAD_ACP, CP_UTF7 Y CP_UTF8.

seria algo asi ????
COM (NOTEPAD [server [ruta y archivo]])

desde ya muchas gracias y saludos
  #7 (permalink)  
Antiguo 21/10/2003, 09:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ahí no te sé decir .. pero si quieres ir probando, en los comentarios de los usuarios de www.php.net/com hay ejemplos para hacer eso mismo pero sobre el Word (o Exel incluso .. Explorer y el Adobe Reader ..)

El "DCOM" del "notepad" o asociado a archivos de texto no sé como irá en windows .. Tal vez si te pasas por el foro Sistemas Operativos -> Windows te orienten mejor .. e incluso en el de ASP que están más familiarizados con usar ese tipo de objetos..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 21/10/2003, 09:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Otro detalle ...

¿Porqué no abres el archivo sobre el navegador? .. fopen() para abrirlo desde el servidor .. y ahí lo entregas a un <texarea> por ejemplo de un formulario .. que vendría a ser poco menos que el "notepad" .. Si a su vez deseas que tu "cliente" se guarde el archivo .. Sube (submit) el formulario al servidor y lo preparas para entregarlo a descargar (con cabeceras HTTP).

¿Cual es el fin de abrir el "notepad" ? (si aun me dice el Word por ejemplo por escribir un texto con formato y guardarlo en el cliente .. ahí bien .. pero, con el "notepad" .. mmm )

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 21/10/2003, 13:24
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 15 años, 1 mes
Puntos: 2
Gracias Cluster.
entonses como podria hacer para abrir desde PHP el Word o cualquier otro editor de texto. de forma que yo le pase la ruta y el nombre del archivo a abrir y se abra automaticamente.
Alguna sugerencia, o algun ejemplo ya entre a http://ar.php.net/manual/es/ref.com.php
http://www.phpbuilder.com
y no puedo dar en la tecla.
desde ya muchas gracias y saludos
  #10 (permalink)  
Antiguo 21/10/2003, 15:23
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Nunca he usado COM, pero hasta donde yo entiendo es para poder usar por codigo "funciones" de los COM. Creo que no lanza ninguna aplicacion (y menos en el cliente).

Creo que funciona como la extension Java de PHP, que permite usar clases java como si fuesen clases PHP.

Pero como ya digo, nunca las he usado.

Saludos.

PD: Me extraña que se pueda abrir algun programa o ejecutar un comando en el cliente. ¿Te imaginas mandar ejecutar un "del *.*" en la maquina cliente?
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 21:10.