Foros del Web » Programando para Internet » PHP »

Enviar archivos de uns ervidor a otro - Problemas propiedad fichero destino

Estas en el tema de Enviar archivos de uns ervidor a otro - Problemas propiedad fichero destino en el foro de PHP en Foros del Web. Hola compañeros. Tengo un problema. Tengo una web la cual, desde un formulario se guardan archivos en una carpeta. Hasta ahí, bien. Esos mismos archivos, ...
  #1 (permalink)  
Antiguo 15/04/2014, 04:06
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Enviar archivos de uns ervidor a otro - Problemas propiedad fichero destino

Hola compañeros.

Tengo un problema.

Tengo una web la cual, desde un formulario se guardan archivos en una carpeta.
Hasta ahí, bien.

Esos mismos archivos, tengo que REPLICARLOS en otro dominio.
Los subo mediante FTP con esta porción de código:

Código PHP:
                    define("FTP_ADDRESS","MI_SERVIDOR_DESTINO");
                    
define("FTP_USERNAME","MI_USUARIO_FTP");
                    
define("FTP_PASSWORD","PASSWORD_FTP");
                    
                    
$LOCAL_FILE $_FILES["files"]["tmp_name"][0];
                    
$FTP_FILE "LA_RUTA_DE_DESTINO";
                    
                    
$conn ftp_connect(FTP_ADDRESS);
                    
$login ftp_login($connFTP_USERNAMEFTP_PASSWORD);
                    
ftp_put($conn$FTP_FILE$LOCAL_FILEFTP_ASCII);
                    
ftp_close($conn); 
La subida al otro dominio funciona PERFECTAMENTE.

El problema es que en el otro dominio, en el dominio de DESTINO, si ejecuto una modificación sobre el/los archivo/s subido/s me da problemas de permisos.


Los archivos subidos mediante formularios por POST tiene como propiedad el usuario APACHE
Pero estos, subidos mediante PHP con la función FTP tienen como propietario MI_USUARIO_FTP, por lo que después, no puedo hacer nada con ellos mediante PHP y e es necesario poder manipularlos mediante un CMS php


¿Qué puedo hacer para que los archivos sean subidos a un FTP, y pueda manipularlos luego desde PHP sin problema?

No son temas de permisos CHMOD, son temas de propiedad de usuario.


Espero vuestros comentarios con urgencia.


Gracias a todos.


Saludos.
  #2 (permalink)  
Antiguo 15/04/2014, 04:22
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años
Puntos: 574
Respuesta: Enviar archivos de uns ervidor a otro - Problemas propiedad fichero destin

Cita:
No son temas de permisos CHMOD, son temas de propiedad de usuario.
Eso es contradictorio. Si cambias los permisos de lectura y escritura para que los ficheros sean accesibles por cualquier usuario el propietario no debe preocuparte.

http://www.php.net/manual/en/function.chmod.php
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 15/04/2014, 04:28
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Respuesta: Enviar archivos de uns ervidor a otro - Problemas propiedad fichero destin

Cita:
Eso es contradictorio. Si cambias los permisos de lectura y escritura para que los ficheros sean accesibles por cualquier usuario el propietario no debe preocuparte.
Pero si doy estos permisos, tengo un agujero de seguridad sobre los archivos ¿no?
  #4 (permalink)  
Antiguo 15/04/2014, 04:35
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 9 años, 11 meses
Puntos: 10
Respuesta: Enviar archivos de uns ervidor a otro - Problemas propiedad fichero destin

Antes de hacer eso, une el usuario apache al grupo de ftp, y asi por apache disfruta por lo menos sobre los derechos de grupo

"mi opinion"

un saludo
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos
  #5 (permalink)  
Antiguo 15/04/2014, 04:58
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años
Puntos: 574
Respuesta: Enviar archivos de uns ervidor a otro - Problemas propiedad fichero destin

Quizas si que seria abrirlos demasiado

Para cambiar el propietario tienes

Cita:
Sólo el superusuario puede cambiar el propietario de un archivo.
http://www.php.net/manual/es/function.chown.php
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #6 (permalink)  
Antiguo 15/04/2014, 05:35
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Respuesta: Enviar archivos de uns ervidor a otro - Problemas propiedad fichero destin

Por las cuestiones de usuarios y grupos, CREO que es imposible subir ficheros de un servidor a otro asociándolo con APACHE directametne para que después, los ficheros subidos sean accesibles desde el PHP del servidor de DESTINO.

Así que lo que he hecho es hacer un fichero "PUENTE"
Este fichero, obtiene mediante GET la ruta de los archivos a mover.

SERVIDOR ORIGEN
- Subo el archivo desde mi ordenador y lo guardo en el servidor.
- Llamo al servidor DESTINO:
Cita:
file_get_contents('http://SERVIDOR_DESTINO/get_file_from_other_server.php?file_type=file&file _path=http://SERVIDOR_ORIGEN/url_de_mi_archivo.jpg');
SERVIDOR DESTINO
- Al llamar LOCALMENTE en el servidor a la descarga del archivo, dicha imagen o archivo se descarga con los permisos correctos y todo correcto para su posterior uso.


Se que es "rizar el rizo" pero es la manera más directa para no tener que tocar permisos de grupos ni de usuarios a nivel SERVIDOR. Si se os ocurre alguna otra forma transparente y sin tener que acceder a modificar el hosting, os escucho.


Saludos.
  #7 (permalink)  
Antiguo 15/04/2014, 06:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años
Puntos: 574
Respuesta: Enviar archivos de uns ervidor a otro - Problemas propiedad fichero destin

Código PHP:
Ver original
  1. get_file_from_other_server.php?file_type=file&file _path=http://SERVIDOR_ORIGEN/url_de_mi_archivo.jpg'

No estas mostrando cvomo lo haces... pero puede que http://SERVIDOR_DESTINO/ no te permita acceder a http://SERVIDOR_ORIGEN... si te funciona perfecto pero podrias mostrar la solucion.....

Basicamente "get_file_from_other_server.php"
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #8 (permalink)  
Antiguo 15/04/2014, 06:45
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Respuesta: Enviar archivos de uns ervidor a otro - Problemas propiedad fichero destin

Cada vez que en ORIGEN inserto un dato nuevo, ejecuto el fichero en DESTINO para replicarlo lo subido.



El archivo que realiza las descargas solamente hace esto:
Código PHP:

<?php
    
include_once("librerias_php_necesarias");
    
    
    if (isset(
$_GET["file_path"]) && !empty($_GET["file_path"])) {
        
$content file_get_contents($_GET["file_path"]);
        
        switch(
$_GET["file_type"]) {
            case 
"image":
                
$image_name explode("/"$_GET["file_path"]);
                
$image_name $image_name[count($image_name) - 1];
                
                
//Store in the filesystem.
                
$fp fopen("RUTA_DE_IMAGENES/".$image_name"w");
                
fwrite($fp$content);
                
fclose($fp);
            break;
            
            case 
"file":
                
$file_name explode("/"$_GET["file_path"]);
                
$file_name $file_name[count($file_name) - 1];
                
                
//Store in the filesystem.
                
$fp fopen("RUTA_DE_ARCHIVOS/".$file_name"w");
                
fwrite($fp$content);
                
fclose($fp);
            break;
        }
    }
?>
Solo eso, DESCARGAR los archivos pasados por parámetro.
También paso un parámetro file_type, para hacer gestiones especiales si son diferentes tipos de archivo (escalabilidad).

Saludos.
  #9 (permalink)  
Antiguo 15/04/2014, 06:48
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Respuesta: Enviar archivos de uns ervidor a otro - Problemas propiedad fichero destin

Cita:
Iniciado por quimfv Ver Mensaje
No estas mostrando cvomo lo haces... pero puede que http://SERVIDOR_DESTINO/ no te permita acceder a http://SERVIDOR_ORIGEN... si te funciona perfecto pero podrias mostrar la solucion.....
Si que me está dejando, no me pone pegas de permisos ni restricciones...
  #10 (permalink)  
Antiguo 15/04/2014, 07:14
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años
Puntos: 574
Respuesta: Enviar archivos de uns ervidor a otro - Problemas propiedad fichero destin

Gracias....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: destino, fichero, formulario, propiedad
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 05:21.