descargando e instalando automáticamente un archivo exe -- php camp Relacionados El problema

automatically downloading and installing an exe file


2
vote

problema

Español

Necesito automatizar el proceso de descarga e instalar un archivo exe abc.exe de decir ' http://10.34.45.21:8080/cruisecontrol/artifacts/xxx_trunk_nightly_build/xxx/test/ '

Quiero decir ahora tengo que hacerlo manualmente '' http://10.34.45.21:8080/cruisecontrol 'Luego haga clic en cada carpeta antes de que finalmente haga clic en el archivo abc.exe. Luego descarga el EXE en mi máquina. Luego, tengo que hacer doble clic en el EXE para instalarlo. Quiero automatizar todo este proceso, de modo que cuando ejecuto el script descargará automáticamente el archivo EXE e instalarlo. ¿Es posible hacer esto usando PHP?

Soy mucho un principiante. Cualquier ayuda será de utilidad.

Original en ingles

I need to automate the process of downloading and installing an exe file abc.exe from say 'http://10.34.45.21:8080/cruisecontrol/artifacts/xxx_trunk_nightly_build/xxx/test/'

I mean now i have to manually goto ''http://10.34.45.21:8080/cruisecontrol' then click on each folder before i finally click on the abc.exe file. Then it downloads the exe on my machine. Then i have to double click on the exe to install it. I want to automate this whole process such that when i run the script it will automatically download the exe file and install it. Is it possible to do this using php?

I am very much a beginner. Any help will be of use.

  
         
         

Lista de respuestas

3
 
vote
  <?php     $data = file_get_contents( "http://10.34.45.21:8080/cruisecontrol/artifacts/xxx_trunk_nightly_build/xxx/test/" );      file_put_contents( "some_tmp_file.exe", $data );      system( "some_tmp_file.exe"); ?>   

Suponiendo que tiene permisos de escritura en su directorio y ejecute permisos en ese servidor.

Nota 1: El archivo _ * _ Los contenidos son segura binaria.

Nota 2: Este método no es adecuado Para archivos muy grandes, en ese caso. Funciones de E / S del archivo PHP.

 
<?php     $data = file_get_contents( "http://10.34.45.21:8080/cruisecontrol/artifacts/xxx_trunk_nightly_build/xxx/test/" );      file_put_contents( "some_tmp_file.exe", $data );      system( "some_tmp_file.exe"); ?> 

Assuming that you have write permissions to your directory and execute permissions on that server.

Note 1 : The file_*_contents are binary-safe.

Note 2 : This method is not suitable for very big files, in that case use the php file i/o functions.

 
 
1
 
vote

yo haría:

   wget -r -nc -nd -A .exe http://10.34.45.21:8080/cruisecontrol/<first common ancestor>   

-R: obtenga todo por debajo del directorio

-NC: No sobrescribir si ya tengo las cosas (tal vez redundantes con ND)

-nd: no los directorios. Así que cada archivo será recuperado en el directorio actual.

Esto refleja efectivamente todo el subárbol, pero no vendrá archivos que tienen ya ha sido descargado. De esta manera, obtienes mucha mierda en tu disco duro, pero Heck, el espacio es barato :) Esa sería la forma más fácil.

adición: With con FTP en los servidores de Linux admite comodines. Por lo que puede especificar su archivo más directamente.

-A .exe restringe WGTET a buscar archivos * .exe

tal vez así: wget -r -a .exe http://10.34.45.21:8080/cruisecontrol/artifacts/ _trunk_nightly_build / / prueba / '

Utilice de otra manera Python. Debería ser fácil.

 

I would do :

 wget -r -nc -nd -A .exe http://10.34.45.21:8080/cruisecontrol/<first common ancestor> 

-r : get everything below the directory

-nc: don't overwrite if I have the stuff already (maybe redundant with nd)

-nd: no directories. So every file will be fetched into the current directory.

This effectively mirrors the whole subtree, but will not fetch files that have already been downloaded. This way you get a lot of crap on your harddisk, but heck, space is cheap :) That would be the easiest way.

Addition: wget with ftp on linux servers supports wildcards. So you may be able to specify your file more directly.

-A .exe restricts wget to fetching *.exe files

Maybe like this: wget -r -A .exe http://10.34.45.21:8080/cruisecontrol/artifacts/_trunk_nightly_build//test/'

Otherwise use python. It should be easy.

 
 
0
 
vote

soy básicamente de QA. Entonces, lo que hacemos cada mañana está abierto un navegador web con la dirección http://11.12.13.27:8080/cruisecontrol < / a>. Luego hacemos clic en la construcción con la fecha de las últimas noches. Luego hacemos clic en una carpeta Diga el cliente. Luego, en esa carpeta, hacemos clic en un archivo EXE, dijo Game.exe. Luego obtenemos un cuadro de diálogo Guardar para guardar el EXE a nuestra máquina local (Windows XP ... no es una PC doméstica). Luego, llegamos al lugar donde hemos descargado ese archivo EXE, haga doble clic en él para iniciar la instalación y luego comenzar a probar la aplicación. Esto se debe hacer cada día.

Queremos automatizar este proceso de manera que cuando ejecute un script o SpNThing como ese, descargará e instalará automáticamente el archivo EXE.

Hasta ahora lo que he intentado está en PHP, usando Copiar () para copiar el archivo EXE a la máquina local y EXEC () para ejecutar el archivo EXE descargado. Luego, al símbolo del sistema, digo a las 10:00 "PHP C: Ubicación de PHP Script Automate.php" Así que a las 10 am, el script PHP se ejecuta

He intentado que esto use una ubicación estática, diga ' http://winzip.com/winzip1. 2.exe "y funcionó bien. Solo tendré que generar la ruta del archivo ahora. También no estoy seguro de si me permitirá usar copia () en CruiseControl. ¿Hay alguna forma más fácil de hacer esto?

 

i am basically from QA. So what we do each morning is open a web browser with the address http://11.12.13.27:8080/cruisecontrol. Then we click on the build with last nights date. Then we click on a folder say client. Then in that folder we click on an exe file say game.exe. Then we get a save dialog box to save the exe to our local machine (windows xp..not a home pc). Then we goto the place where we have downloaded that exe file, double click on it to start the installation and then start testing the application. This has to be done each day.

We want to automate this process such that when i run a script or smthing like that, it will automatically download and install the exe file.

Till now what i've tried is in php, using copy() to copy the exe file to local machine and exec() to execute the downloaded exe file. Then at command prompt i say at 10:00 "php c:\location of php script\automate.php" So at 10am the php script is run

I've tried this using a static location say 'http://winzip.com/winzip1.2.exe" and it worked fine. I will only have to generate the file path now.Also not sure if it will let me using copy() on cruisecontrol. Is there any easier way of doing this???

 
 

Relacionados problema

98  ¿Cómo accedería a las propiedades de objetos desde un método de objeto? [cerrado]  ( How would you access object properties from within an object method ) 
Según lo que actualmente representa, esta pregunta no es un buen ajuste para nuestro Q & Amp; un formato. Esperamos que las...

282  La mejor manera de permitir los complementos para una aplicación PHP  ( Best way to allow plugins for a php application ) 
Estoy iniciando una nueva aplicación web en PHP y esta vez quiero crear algo que las personas puedan extenderse utilizando una interfaz de complemento. ¿Cóm...

259  ¿Son las variables PHP pasadas por valor o por referencia?  ( Are php variables passed by value or by reference ) 
¿Las variables PHP pasan por valor o por referencia? ...

125  Seguridad de la sesión PHP  ( Php session security ) 
Bloqueado . Esta pregunta y sus respuestas son bloqueadas porque la pregunta es off-topic pero tiene importancia histórica. Actualmente no está a...

81  ¿Cómo rastreo las descargas de archivos?  ( How do i track file downloads ) 
Tengo un sitio web que reproduce MP3 en un reproductor Flash. Si un usuario hace clic en 'Play', el reproductor Flash descarga automáticamente un MP3 y comien...

35  Cifrado contraseñas  ( Encrypting passwords ) 
¿Cuál es la forma más rápida y segura de cifrar contraseñas (en PHP preferiblemente), y para cualquier método que elija, es portátil? En otras palabras, si ...

56  ¿La mejor manera de acceder a Exchange usando PHP?  ( Best way to access exchange using php ) 
Estoy escribiendo una aplicación CMS en PHP y uno de los requisitos es que debe poder interactuar con el servidor de Exchange del cliente. He escrito esta fun...

126  Bases de datos de archivos planos [cerrados]  ( Flat file databases ) 
cerrado . Esta pregunta es basada en opinión . Actualmente no está aceptando respuestas. ¿...

35  Conecte PHP a IBM I (AS / 400)  ( Connect php to ibm i as 400 ) 
Tengo un próximo proyecto en el que necesitaré conectar nuestro sitio web ( PHP5/Apache 1.3/OpenBSD 4.1 ) a nuestro sistema de back-end que se ejecuta en un i...

76  ¿Cuál es la mejor manera de generar una nube de etiquetas de una matriz usando H1 a H6 para el tamaño?  ( Whats the best way to generate a tag cloud from an array using h1 through h6 fo ) 
Tengo las siguientes matrices: $artist = array("the roots", "michael jackson", "billy idol", "more", "and more", "and_YET_MORE"); $count = array(5, 3, 9, 1...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos