Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Subir archivos de mi subdominio a otro subdominio del mismo host

Estas en el tema de Subir archivos de mi subdominio a otro subdominio del mismo host en el foro de PHP en Foros del Web. Bueno me explico... Lo que me gustaría saber es si se puede subir archivos de mi subdominio. Ejem: sub1.principal.com a este otro sub2.principal.com... Un ejemplo ...
  #1 (permalink)  
Antiguo 21/01/2015, 20:37
Avatar de anifrik_26  
Fecha de Ingreso: enero-2015
Ubicación: El Salvador
Mensajes: 5
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta Subir archivos de mi subdominio a otro subdominio del mismo host

Bueno me explico...

Lo que me gustaría saber es si se puede subir archivos de mi subdominio. Ejem: sub1.principal.com a este otro sub2.principal.com...

Un ejemplo de ello es cuando subes por ejemplo una imagen en Facebook y al ver imagen en una pestaña nueva está en otro subdominio, ¿me explico?
Algo como esto:



Muchas gracias de antemano
  #2 (permalink)  
Antiguo 21/01/2015, 20:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Subir archivos de mi subdominio a otro subdominio del mismo host

Claro que se puede, siempre se ha podido.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/01/2015, 20:49
Avatar de anifrik_26  
Fecha de Ingreso: enero-2015
Ubicación: El Salvador
Mensajes: 5
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta Respuesta: Subir archivos de mi subdominio a otro subdominio del mismo host

Cómo puedo hacer para subirlo?

Ya tengo un script para ello, pero no se cómo hacer para que me suba los archivos a ese otro subdominio.
  #4 (permalink)  
Antiguo 21/01/2015, 20:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Subir archivos de mi subdominio a otro subdominio del mismo host

Muy fácil, sólo debes colocar en el action la URL completa del dominio alternativo:

Código PHP:
Ver original
  1. <form action="http://sub2.principal.com/upload.php">

Es decir, el script que recibe el formulario no debe estár siempre en el mismo subdominio, es completamente normal apuntarlo a otro distinto.

Consulta el manual: http://php.net/manual/es/features.file-upload.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 21/01/2015, 21:02
Avatar de anifrik_26  
Fecha de Ingreso: enero-2015
Ubicación: El Salvador
Mensajes: 5
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta Respuesta: Subir archivos de mi subdominio a otro subdominio del mismo host

Ya entiendo... otra cosa, también tengo un script pero uso AJAX para subir los archivos

Lo que hago es que desde una función AJAX mando el archivo a este script PHP (procesar.php)

Aquí el código:
Código PHP:
<?php
    
require_once("requerir.php");
    if (isset(
$_SESSION["UserActivo"])){
        require_once(
"class.validar.php");
        
$Validar = new Validar();
        
define("maxUpload"5242880);
        
define("maxWidth"100000);
        
define("maxHeight"100000);
        
define("uploadURL"'imagenes/');
        
define("fileName"'Image_');
        
// Tipos MIME
        
$fileType = array('image/jpeg','image/pjpeg','image/jpg','image/png');
        
// Bandera para procesar imagen
        
$pasaImgSize false;
        
//bandera de error al procesar la imagen
        
$respuestaFile false;
        
// nombre por default de la imagen a subir
        
$fileName '';
        
// error del lado del servidor
        
$mensajeFile 'Error';
        
// Obtenemos los datos del archivo
        
$tamanio $_FILES['userfile']['size'];
        
$tipo $_FILES['userfile']['type'];
        
$archivo $_FILES['userfile']['name'];
        
// Tamaño de la imagen
        
$imageSize getimagesize($_FILES['userfile']['tmp_name']);
        
// Verificamos la extensión del archivo independiente del tipo mime
        
$extension explode('.',$_FILES['userfile']['name']);
        
$num count($extension)-1;
        
// Creamos el nombre del archivo dependiendo la opción
        
$imgFile fileName.$_SESSION["UserActivo"].date("s").$Validar->AsignarNombre($archivo).'.'.$extension[$num];
        
// Verificamos el tamaño válido para los logotipos
        
if($imageSize[0] < maxWidth || $imageSize[1] < maxHeight)
            
$pasaImgSize true;
        
// Verificamos el status de las dimensiones de la imagen a publicar
        
if(!empty($imageSize[0]) && !empty($imageSize[1])){
            if(
$pasaImgSize == true){
                
// Verificamos Tamaño y extensiones
                
if(in_array($tipo$fileType) && $tamanio && $tamanio <= maxUpload && ($extension[$num] == 'jpg' || $extension[$num] == 'png' || $extension[$num] == 'jpeg')){
                    
// Intentamos copiar el archivo
                    
if(is_uploaded_file($_FILES['userfile']['tmp_name'])){
                        if(
move_uploaded_file($_FILES['userfile']['tmp_name'],$_SERVER["DOCUMENT_ROOT"]."/".uploadURL.$imgFile)){
                            
$_SESSION["Imagen"] = $imgFile;
                            
$_SESSION["Ancho"] = $imageSize[0];
                            
$_SESSION["Alto"] = $imageSize[1];
                            
$respuestaFile 'done';
                            
$fileName $imgFile;
                            
$mensajeFile "¡Imagen Cargada!";
                        }else
                            
// error del lado del servidor
                            
$mensajeFile 'Error al subir';
                    }else
                        
// error del lado del servidor
                        
$mensajeFile 'Error al subir';
                }else
                    
// Error en el tamaño y tipo de imagen
                    
$mensajeFile 'Es mayor a 2MB y/o Tipo inválido';
            }else
                
// Error en las dimensiones de la imagen
                
$mensajeFile 'La resolución es muy grande';
        }else
            
// Error de tipo de archivo.
            
$mensajeFile "El archivo es inválido";

        
$salidaJson = array("respuesta" => $respuestaFile,
                            
"mensaje" => $mensajeFile,
                            
"nombre" => $fileName);

        echo 
json_encode($salidaJson);
    }
?>
Con este script puedo cambiarlo para subirlo a otro subdominio?

Gracias de antemano.
  #6 (permalink)  
Antiguo 21/01/2015, 21:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Subir archivos de mi subdominio a otro subdominio del mismo host

Cita:
Con este script puedo cambiarlo para subirlo a otro subdominio?
Desde luego, la idea radica en que dicho script es el que recibirá el archivo: así que debes colocarlo en el sitio de destino lógicamente.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 21/01/2015, 21:13
Avatar de anifrik_26  
Fecha de Ingreso: enero-2015
Ubicación: El Salvador
Mensajes: 5
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta Respuesta: Subir archivos de mi subdominio a otro subdominio del mismo host

Este es el script AJAX que manda a llamar el archivo (procesar.php)

Código HTML:
	$(function(){
		var btn_firma = $('#addImage');
		new AjaxUpload('#addImage', {
			action: 'http://sub1.principal.com/php/uploadFilePic.php',
			onSubmit : function(file,ext){
				if (!(ext && /^(jpg|png|jpeg)$/.test(ext))){
					alertify.set({delay:10000});
					alertify.log("¡Sólo se permiten Imagenes jpg, jpeg o png!");
					return false;
				}else{
					$('#loaderAjax').show();
					this.disable();
				}
			},
			onComplete : function(file,response){
				Respuesta = $.parseJSON(response);
				if (Respuesta.respuesta == 'done'){
					$('.preview').removeAttr('scr');
					$('.preview').attr('src','http://sub1.principal.com/imagenes/'+Respuesta.nombre);
					$('.NamePic').removeAttr('value');
					$('.NamePic').attr('value',Respuesta.nombre);
					$('#loaderAjax').show();
					alertify.success(Respuesta.mensaje);
				}else{
					alertify.error(Respuesta.mensaje);
				}
				$('#loaderAjax').hide();	
				this.enable();	
			}
		});
	});
Pero si lo que te refieres es a que el action sea este:

Código HTML:
			action: 'http://sub2.principal.com/php/uploadFilePic.php',
Ya he probado hacer ese cambio, pero me da un error. Solo que no tengo para mostrar cómo es el error. Pero a qué se deberá?

Gracias de antemano.
  #8 (permalink)  
Antiguo 21/01/2015, 23:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Subir archivos de mi subdominio a otro subdominio del mismo host

Bueno, si el envio lo harás a través de Javascript (cosa que no dijiste) entonces debes saber que existen restricciones de seguridad cross-domain para este tipo de peticiones.

Si se tratara únicamente de PHP no existe dicha restricción usando formularios normales y no Javascript.

Por favor investiga al respecto y procura preguntar en el foro más adecuado.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 22/01/2015, 14:20
Avatar de anifrik_26  
Fecha de Ingreso: enero-2015
Ubicación: El Salvador
Mensajes: 5
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Subir archivos de mi subdominio a otro subdominio del mismo host

Ah ya veo, tendré que investigar sobre eso... muchas gracias por la ayuda
  #10 (permalink)  
Antiguo 22/01/2015, 15:30
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Subir archivos de mi subdominio a otro subdominio del mismo host

Es mas sencillo que envíes el archivo a uno de los servidores y lo guardes, después el archivo almacenado moverlo al otro servidor mediante sftp o scopy. Ya existen librerías que te ayudan con lo ultimo.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: dominio, subdominio
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 02:11.