PDA

Ver la Versión Completa : Concatenación y variable system xcopy


mieltxo
16-06-2005, 09:58:50
Buenos días,

Tengo un problema muy curioso: Cuando realizo la instrucción de ms-dos para copiar un fichero de un sistema a otro mediante la instrucción xcopy, no me funciona en ciertos casos:

Esta sería la instrucción:

$copia = system("xcopy c:\\00filesrv\\clientes\\".$_SESSION['cifempre']."\\dibujar\\".$_SESSION['nombrefichero']." \\\\".$_SERVER['REMOTE_ADDR']."\\activa\\ /Y");

Ejemplo: xcopy c:\\00filesrv\\clientes\\A-000000\\dibujar\\989898.pdf \\\\255.255.255.255\\activa\\ /Y");

La instrucción me funciona perfectamente desde el propio ms-dos... pero si lo hago desde php no. El problema esta en la IP (no se si será por los puntos)..

En cambio, si en vez de la IP pongo el nombre de la máquina me funciona perfectamente, (desgraciadamente he de realizarlo mediante la IP por cuestion de redes).. otra cosa curiosa es que con mi propia ip si que me funciona!

Nota: Tengo los permisos adecuados en el otro sistema

Desconozco si es por la concatenación o he de definir la variable de algún tipo..

Gracias por vuestra ayuda

gryphus
29-06-2005, 10:33:20
No se si habrás resuelto la duda ya o que... pero a ver si se puede hacer algo... xD
¿¿Has probado a usar la orden "exec" o "shell_exec"??
Yo la uso siempre que tengo que hacer alguna orden de MS-DOS o para ejecutar algun programa.
:P

jachguate
29-06-2005, 15:40:38
255.255.255.255 es solo un ejemplo? :confused:

Ninguna máquina de la red podria tener esta dirección... ¿cual es la máscara de red? :confused:

mieltxo
05-07-2005, 09:42:40
Buenos días,

Si he probado las ordenes de "exec" / "shell_exec" pero nada. La ip 255.255.255.255 es un simple ejemplo :P

Al parecer PHP no mantiene las mismas credenciales de seguridad que el usuario que este logueado en el sistema..

Para mi asombro parece que no tengo permiso para realizar dicha consulta desde php sobre otro sistema.


Un saludo

jachguate
06-07-2005, 00:08:18
Al parecer PHP no mantiene las mismas credenciales de seguridad que el usuario que este logueado en el sistema..

Claro que no. Regularmente PHP se ejecutará en el entorno de seguridad del webserver (¿apache?) que de hecho puede estar corriendo sin ningún usuario logeado en el server (como un servicio).

Así, quien tiene que tener los permisos necesarios en las carpetas (origen y destino) es el usuario sobre el que se ejecuta tu webserver.

Hasta luego.

;)