Foros del Web » Programando para Internet » PHP »

Subir archivos sin pasar por un formulario

Estas en el tema de Subir archivos sin pasar por un formulario en el foro de PHP en Foros del Web. Hola a todos. He estado mirando las ayudas que hay relacionadas con la subida de ficheros al servidor en php, pero no logro encontrar como ...
  #1 (permalink)  
Antiguo 18/01/2005, 04:52
Avatar de kappra  
Fecha de Ingreso: diciembre-2004
Mensajes: 125
Antigüedad: 19 años, 3 meses
Puntos: 0
Subir archivos sin pasar por un formulario

Hola a todos. He estado mirando las ayudas que hay relacionadas con la subida de ficheros al servidor en php, pero no logro encontrar como puedo subir un fichero sin el paso previo de rellenar un input type="file".

Tengo la ruta local del fichero que quiero subir, y con eso quiero llamar a una pagina php que me suba ese fichero al servidor. ¿Sabeis como puedo hacer esto?

Gracias de antemano
__________________
oO <--- H. Kappra ---> oO
  #2 (permalink)  
Antiguo 18/01/2005, 05:01
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
¿¿¿??? ... el formulario es para indicar qué archivo subirás... así pués es reusable... cada que quieras subir un archivos recurres a éste form... Si no quieres recurrir a él form simplemente.. en el código para insertar no recojas las variables, dáselas!... en vés de recojer la ruta del archivo, dásela dentro del mismo código... ábres tu págna php y te efectua el upload... pero... no le veo sentido a esto... ninguno... a menos que no te hayas explicado bien...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 18/01/2005, 05:13
Avatar de kappra  
Fecha de Ingreso: diciembre-2004
Mensajes: 125
Antigüedad: 19 años, 3 meses
Puntos: 0
Voy a empezar desde el principio. Tengo una pagina en flash que llama a un archivo php que contiene un formulario para seleccionar un fichero. Cuando el fichero se selecciona, la ruta local de dicho fichero se devuelve a flash. En el archivo flash existe un boton para enviar ese fichero al servidor, de modo que cuando se pulsa, flash llama a otro fichero php que tiene que encargarse de subir el fichero ubicado en la ruta local al servidor. He probado a hacer un paso intermedio, que es lo que tu decias, llamar a un archivo php con un formulario, en la propiedad value del input type="file" insertar la ruta local, y mediante un script hacer un submit a otro fichero php para que lo suba al servidor, pero no lo consiguo. (este fichero intermedio tiene que ser transparente al usuario, que es el problema que me estoy encontrando)

No se si me he explicado mejor esta vez, creo que te he liado mas...

A ver si me entendeis
__________________
oO <--- H. Kappra ---> oO
  #4 (permalink)  
Antiguo 18/01/2005, 05:16
Avatar de kappra  
Fecha de Ingreso: diciembre-2004
Mensajes: 125
Antigüedad: 19 años, 3 meses
Puntos: 0
por cierto que yo no te entendi muy bien jam...
__________________
oO <--- H. Kappra ---> oO
  #5 (permalink)  
Antiguo 18/01/2005, 05:30
Avatar de kappra  
Fecha de Ingreso: diciembre-2004
Mensajes: 125
Antigüedad: 19 años, 3 meses
Puntos: 0
simplificando el tema:

tengo una variable

var="c:/micarpeta/mifichero.jpg"

y quiero llamar a un fichero php con esa variable, y que me suba el archivo que indica esa variable.

ya esta

solo eso
__________________
oO <--- H. Kappra ---> oO
  #6 (permalink)  
Antiguo 18/01/2005, 05:34
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Es problema de Flash, no de PHP. PHP no tiene acceso al disco duro del usuario. Y la verdad, espero que flash no tenga la posibilidad de subir ficheros sin interaccion con el usuario, no me gustaria que una animacion flash pudiese enviar ficheros sin que yo me enterase (ficheros del sistema operativo, con pass encriptadas y cosas asi).

Salduos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 18/01/2005, 05:41
Avatar de kappra  
Fecha de Ingreso: diciembre-2004
Mensajes: 125
Antigüedad: 19 años, 3 meses
Puntos: 0
Josemi, olvidate de flash, en realidad no importa en el problema que tengo, haz como si no estuviera. Imagina una pagina html con un Input type="file". Un usuario selecciona un archivo, pulsa un boton de "Enviar", y se hace un submit a un fichero php que recoje ese fichero ylo sube al servidor. Ok?

Bueno, pues imagina que en vez de usar el Input, dicho usuario ha seleccionado la ruta del fichero anteriormente y la tiene almacenada, y es ahora cuando quiere subir al servidor el archivo, (pero ya no necesita seleccionarlo puesto que ya lo hizo anteriormente).

¿¿¿No puede subirse ese archivo??? No me lo creo, tiene que poderse, seguro
__________________
oO <--- H. Kappra ---> oO
  #8 (permalink)  
Antiguo 18/01/2005, 06:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Desde HTML no se puede (con tu campo file) .. si quieres .. podrías ver soluciones del lado de ActiveX, Applet java o similar .. de hecho hay muchos activeX que al -instalarlos bajo permiso- .. pueden hacer cosas como pasar una ruta directa del archivo sin más preguntas .. o incluso indicar un directorio entero .. y similares.

Un saludo,
  #9 (permalink)  
Antiguo 18/01/2005, 07:07
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Cita:
¿¿¿No puede subirse ese archivo??? No me lo creo, tiene que poderse, seguro
Con PHP, seguro que no. PHP no ve el equipo del usuario. Tendrias que usar tecnologia del lado del navegador (Falsh, HTML, ActiveX, Applets, ...) para leer el fichero local y mandar al servidor la misma peticion que generaria usar un type="file".

Por cierto, los navegadores son stateless, cada pagina es independiente de la anterior, es imposible que sepa que el nombre del fichero que intentas subir sin interaccion con el usuario lo haya elegido anteriormente ese usuario. El navegador no tiene ni idea. Por eso es inseguro (por parte de un navegador) que las tecnologias del lado del cliente puedan enviar cualquier fichero del disco duro.

A veces creo que no se entiende como va el tema de los navegadores, y se intenta usarlos como si fuesen un programa local.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 18/01/2005, 07:40
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
c0re, ¿lo has probado? Porque creo recordar que los navegadores tienen potestad de "pasar" del value del file. Y si yo seria diseñador de navegadores, haria todo lo posible para que no se pudiese usar.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #11 (permalink)  
Antiguo 18/01/2005, 08:14
 
Fecha de Ingreso: enero-2005
Ubicación: Cali, Colombia
Mensajes: 1
Antigüedad: 19 años, 3 meses
Puntos: 0
Asi es

Cita:
Iniciado por josemi
c0re, ¿lo has probado? Porque creo recordar que los navegadores tienen potestad de "pasar" del value del file. Y si yo seria diseñador de navegadores, haria todo lo posible para que no se pudiese usar.

Saludos.
Si tienes toda la razon, el problema es seguridad...
  #12 (permalink)  
Antiguo 18/01/2005, 10:52
Avatar de kappra  
Fecha de Ingreso: diciembre-2004
Mensajes: 125
Antigüedad: 19 años, 3 meses
Puntos: 0
" ... es imposible que sepa que el nombre del fichero que intentas subir sin interaccion con el usuario lo haya elegido anteriormente ese usuario ..."

Eso era un ejemplo, Josemi, no es la idea que queria transmitir, solo intentaba explicar con un ejemplo que lo que envío no pasa antes por un input. Tampoco me he explicado con mi pregunta, ya lo habeis dicho vosotros, solo quiero saber como emular la respuesta del Input a través de una página intermedia que sea transparente al usuario.

Un saludo
__________________
oO <--- H. Kappra ---> oO
  #13 (permalink)  
Antiguo 24/01/2005, 07:10
 
Fecha de Ingreso: octubre-2004
Mensajes: 10
Antigüedad: 19 años, 6 meses
Puntos: 0
Hola kappra:

No se si es lo que buscas, pero para subir archivos directamente yo uso este codigo.

<?
$host="ftp.dominio.com";
$login="login";
$password="contraseña";
$ftp=ftp_connect($host) or die ("no puedo conectar");
ftp_login($ftp,$login,$password) or die ("Conexión rechazada");

ftp_chdir($ftp,"rutaservidor");
if (ftp_put($ftp,"fichero.x","/rutalocal/fichero.x",FTP_BINARY))
echo "Se ha subido correctamente el archivo<br>";
else
echo "Error al subir el archivo<br>";
ftp_quit($ftp);
?>
<html>
<head>
<title>Subir Archivos</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>


</body>
</html>

Saludos,
Mitho
  #14 (permalink)  
Antiguo 24/01/2005, 08:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Mitho

Deberías aclarar que debes tener un servidor de FTP instalado en el PC donde vas a tomar tus archivos y con una cuenta de usuario de ese FTP creado en el ...

Un saludo,
  #15 (permalink)  
Antiguo 24/01/2005, 09:35
Avatar de kappra  
Fecha de Ingreso: diciembre-2004
Mensajes: 125
Antigüedad: 19 años, 3 meses
Puntos: 0
no era exactamente eso lo que queria conseguir pero creo que me va a servir. Gracias por vuestras respuestas

un saludo
__________________
oO <--- H. Kappra ---> oO
  #16 (permalink)  
Antiguo 24/01/2005, 10:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por kappra
no era exactamente eso lo que queria conseguir pero creo que me va a servir. Gracias por vuestras respuestas

un saludo
Te hice el comentario más arriba que puedes usar ActiveX para tal fin ..¿has probado alguno?

Un saludo,
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 22:29.