Foros del Web » Programando para Internet » PHP »

Subir foto a servidor, crear carpeta y guardarla en ella.

Estas en el tema de Subir foto a servidor, crear carpeta y guardarla en ella. en el foro de PHP en Foros del Web. Muy buenas, ante todo agradecer y felicitar por este foro que tanto me ha ayudado y por primera vez me he registrado y posteado, me ...
  #1 (permalink)  
Antiguo 10/12/2013, 06:01
 
Fecha de Ingreso: diciembre-2013
Mensajes: 49
Antigüedad: 10 años, 4 meses
Puntos: 1
Subir foto a servidor, crear carpeta y guardarla en ella.

Muy buenas, ante todo agradecer y felicitar por este foro que tanto me ha ayudado y por primera vez me he registrado y posteado, me ha ayudado en bastantes problemas. En el proyecto que tengo entre manos, tengo que subir una foto y guardarla en una carpeta dependiendo del nombre del comercio que la haya subido, o sea, si el nombre del comercio es X, se tiene que crear una carpeta X y dentro de ella la foto.

El código que tengo creo que debería de funcionar, pero no lo hace y no le encuentro solución, si alguien podría decirme el error se lo agradecería.


Código:
//FOTO
		
	if (is_uploaded_file ($_FILES['imagen']['tmp_name'])){
		
		$foto=$_FILES['imagen']['tmp_name'];		
		list($width, $height, $type, $attr) = getimagesize($foto);
		
		if($width<300 && $height<300){
		
		$nombreDirectorio = "../Perfiles/".$supuestamente_nombre_del_comercio."";
		mkdir($nombreDirectorio);
		//$idUnico = time();
		$nombreFichero = $supuestamente_nombre_del_comercio . "-" . $_FILES['imagen']['name'];
		$nombreFichero=$nombreDirectorio."-".$nombreFichero;
		move_uploaded_file($_FILES['imagen']['tmp_name'],$nombreFichero);
		}
		else{
			$_SESSION['error_peso_imagen']=0;
			
			$_SESSION['supuestamente_nombre_del_comercio']=$supuestamente_nombre_del_comercio;
			$_SESSION['cif_del_comerciante']=$cif_del_comerciante;
			$_SESSION['letra_cif_del_comerciante']=$letra_cif_del_comerciante;
			$_SESSION['correo_electronico_comerciante']=$correo_electronico_comerciante;
			$_SESSION['direccion_comerciante']=$direccion_comerciante;
			$_SESSION['sector']=$sector;
			$_SESSION['tarjeta']=$tarjeta;
			$_SESSION['primer_cuarteto']=$primer_cuarteto;
			$_SESSION['segundo_cuarteto']=$segundo_cuarteto;
			$_SESSION['tercer_cuarteto']=$tercer_cuarteto;
			$_SESSION['cuarto_cuarteto']=$cuarto_cuarteto;
			$_SESSION['recordar_datos']=$recordar_datos;
			
			header ("Location: http://localhost/Web X/Registrarse/index_registro_comerciantes.php");			
		}
	}
		else{
		  print ("No se ha podido subir el fichero\n");
		  return false;
		  
		}
El código se compone por una parte para no subir imágenes mayores de 300*300 y que vuelva al formulario de atrás si da error mostrando los valores introducidos en el formulario, de hay tantos $_SESSION.

Gracias y un saludo.
  #2 (permalink)  
Antiguo 10/12/2013, 10:23
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Subir foto a servidor, crear carpeta y guardarla en ella.

no puedes usar una direccion relativa en mkdir() solo se pueden usar direcciones absolutas
  #3 (permalink)  
Antiguo 10/12/2013, 10:30
 
Fecha de Ingreso: diciembre-2013
Mensajes: 49
Antigüedad: 10 años, 4 meses
Puntos: 1
Respuesta: Subir foto a servidor, crear carpeta y guardarla en ella.

Pues la carpeta la crea con el nombre del comercio, pero la imagen la guarda afuera, no adentro.
  #4 (permalink)  
Antiguo 13/12/2013, 12:39
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Subir foto a servidor, crear carpeta y guardarla en ella.

asi
Código PHP:
    
    
if (is_uploaded_file ($_FILES['imagen']['tmp_name'])){
        
        
$foto=$_FILES['imagen']['tmp_name'];        
        list(
$width$height$type$attr) = getimagesize($foto);
        
        if(
$width<300 && $height<300){
        
        
$nombreDirectorio "../Perfiles/".$supuestamente_nombre_del_comercio."";
        
mkdir($nombreDirectorio);
        
//$idUnico = time();
        
$nombreFichero $supuestamente_nombre_del_comercio "-" $_FILES['imagen']['name'];
        
$nombreFichero=$nombreDirectorio."/".$nombreFichero;
        
move_uploaded_file($_FILES['imagen']['tmp_name'],$nombreFichero);
        }
        else{
            
$_SESSION['error_peso_imagen']=0;
            
            
$_SESSION['supuestamente_nombre_del_comercio']=$supuestamente_nombre_del_comercio;
            
$_SESSION['cif_del_comerciante']=$cif_del_comerciante;
            
$_SESSION['letra_cif_del_comerciante']=$letra_cif_del_comerciante;
            
$_SESSION['correo_electronico_comerciante']=$correo_electronico_comerciante;
            
$_SESSION['direccion_comerciante']=$direccion_comerciante;
            
$_SESSION['sector']=$sector;
            
$_SESSION['tarjeta']=$tarjeta;
            
$_SESSION['primer_cuarteto']=$primer_cuarteto;
            
$_SESSION['segundo_cuarteto']=$segundo_cuarteto;
            
$_SESSION['tercer_cuarteto']=$tercer_cuarteto;
            
$_SESSION['cuarto_cuarteto']=$cuarto_cuarteto;
            
$_SESSION['recordar_datos']=$recordar_datos;
            
            
header ("Location: http://localhost/Web X/Registrarse/index_registro_comerciantes.php");            
        }
    }
        else{
          print (
"No se ha podido subir el fichero\n");
          return 
false;
          
        } 

Etiquetas: carpeta, formulario, foto, registro, servidor
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 11:24.