Comunidad de diseño web y desarrollo en internet online

No puedo subir imagen a mi servidor mediante PHP

Citar            
MensajeEscrito el 11 Feb 2017 07:02 pm
buenas tardes soy nuevo en la comunidad y recien empiezo en la programación con PHP, tengo un problema ya que al subir una imagen a mi servidor (hosting en goddady) no logra subir la imagen no creo que el problema sea el codigo ya que cuando lo pruebo el LOCALHOST si sube a las carpetas ya habilite file_uploads=ON pero sin embargo sigue sin subir la imagen lo que me parece extraño es que el nombre de la imagen si sube a mi base de datos, creo que el problema esta en los permisos pero nose como configurarlo les agradesco de antemano, les dejo las opciones que dejan modificar

include_path
session.save_path
mail.force_extra_parameters
register_globals
open_basedir
error_reporting
allow_url_fopen
file_uploads
short_open_tag

CODIGO PARA PROCESAR LOS DATOS MEDIANTE $_POST

<?php
session_start();error_reporting(E_ALL ^ E_NOTICE);
require_once('sesion.php');
//recuperamos los datos
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$sexo=$_POST['sexo'];
$fecha_dia=$_POST['fecha_dia'];
$fecha_mes=$_POST['fecha_mes'];
$fecha_ano=$_POST['fecha_ano'];
$id=$_POST['id'];
$imagen=$_FILES['img'];
$destino=$_SERVER['DOCUMENT_ROOT'].'imagen/fotos/';
$nombre_imagen=$_FILES['img']['name'];
$nombre_imagen_guardar=$id."+".$nombre."+".$nombre_imagen;
$imagen_temporal = $_FILES['img']['tmp_name'];
$archivo = array('jpg', 'png'); //tipo de imágenes que aceptamos
$extension = explode('.', $nombre_imagen); //repasa la extensión de la imagen
$extension = $extension[sizeof($extension) - 1]; //repasa la extensión de la imagen
$tipo=$_FILES['img']['type'];
// con los datos recuperados ahora lo sometemos a comprobacion
if($nombre=='')
{header('Location: perfil.php?error=nombre');}
else{

if(strlen($nombre)>15)
{header('Location: perfil.php?error=nombrelargo');}
else{

if($apellido=='')
{header('Location: perfil.php?error=apellido');}
else{

if(strlen($apellido)>25)
{header('Location: perfil.php?error=apellidolargo');}
else{

if($sexo=='')
{header('Location: perfil.php?error=sexo');}
else{

if($sexo=='masculino' or $sexo=='femenino')
{

if($fecha_dia=='')
{header('Location: perfil.php?error=fecha_dia');}
else{

if($fecha_dia<1 or 31<$fecha_dia)
{header('Location: perfil.php?error=fecha_dia');}
else{

if($fecha_mes=='')
{header('Location: perfil.php?error=fecha_mes');}
else{

if(
$fecha_mes=='enero' or
$fecha_mes=='febrero' or
$fecha_mes=='marzo' or
$fecha_mes=='abril' or
$fecha_mes=='mayo' or
$fecha_mes=='junio' or
$fecha_mes=='julio' or
$fecha_mes=='agosto' or
$fecha_mes=='septiembre' or
$fecha_mes=='octubre' or
$fecha_mes=='noviembre' or
$fecha_mes=='diciembre'
)
{

if($fecha_ano=='')
{header('Location: perfil.php?error=fecha_ano');
}else{
//////////////////LIMPIO VARIABLES DE CODIGOS MALICIOSOS ////////////
function limpiar_variable($limpiar){
return preg_replace('/[^a-zA-Z 0-9\_]/', '', $limpiar);
}
$nombre=limpiar_variable($nombre);
$apellido=limpiar_variable($apellido);

if($nombre_imagen=='')
{

// con todo esto hecho entonces incluimos la conexion a la base de datos y empezamos a grabar los datos en dicha tabla
$fecha=$fecha_dia."-".$fecha_mes."-".$fecha_ano;
include('conexion.php');

//AQUI DEBEMOS AGREGARLE LOS QUERY SEGUN CUANTAS BASES DE DATOS TENGAMOS
$query= "UPDATE usuario SET nombre='$nombre',apellido='$apellido',sexo='$sexo',fecha='$fecha' WHERE id_user='$id'";

// ejecutamos los datos de la variable
$consulta=mysqli_query($conexion,$query);
if(!$consulta){header('Location: perfil.php?error=no');}
else{header('Location: perfil.php?error=si');}

}
else
{
if(in_array($extension, $archivo) === false)
{header('Location: perfil.php?error=errorimagen');}
else{

if($filesize>100000)
{header('Location: perfil.php?error=errorimagengrande');}
else{
//escapando los caracteres
$imagen = mysqli_real_escape_string($imagen);
$tmp=$_FILES['img']['tmp_name'];
move_uploaded_file($_FILES['img']['tmp_name'],"imagen/fotos/$nombre_imagen_guardar");
// con todo esto hecho entonces incluimos la conexion a la base de datos y empezamos a grabar los datos en dicha tabla
$fecha=$fecha_dia."-".$fecha_mes."-".$fecha_ano;
include('conexion.php');

//AQUI DEBEMOS AGREGARLE LOS QUERY SEGUN CUANTAS BASES DE DATOS TENGAMOS
$query= "UPDATE usuario SET nombre='$nombre',apellido='$apellido',sexo='$sexo',fecha='$fecha',nombre_imagen='$nombre_imagen_guardar' WHERE id_user='$id'";


// ejecutamos los datos de la variable
$consulta=mysqli_query($conexion,$query);

if(!$consulta){header('Location: perfil.php?error=no');}
else{header('Location: perfil.php?error=si');}
}
}////////////////// IMAGEN GRANDE
}///////////////// NO ES IMAGEN

}/////////////////////// FECHA AÑO VACIO
}/////////////////////// FECHA DE MES CAMBIADO
else{header('Location: perfil.php?error=fecha_mes');}
}/////////////////////// FECHA MES VACIO
}/////////////////////// FECHA DIA CAMBIADO
}/////////////////////// FECHA DIA VACIO
}/////////////////////// SEXO MODIFICADO
else{header('Location: perfil.php?error=sexo');}
}/////////////////////// SEXO VACIO
}/////////////////////// APELLIDO LARGO
}/////////////////////// APELLIDO VACIO
}/////////////////////// NOMBRE LARGO
}/////////////////////// NOMBRE VACIO
?>

Por joelcn26

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Feb 2017 03:19 pm
En la carpeta de destino, es decir imagen/fotos/ , tenes que ver que PHP teng permisos de lectura. Los permisos varían segun el servidor, pero empezá probando con permisos totales, 777, luego 755 , 644, hasta que deje de funcionar. Para cambiar los permisos depende que uses para acceder a tu servidor, por ejemplo si es un programa de FTP visual, puedes hacer click derecho sobre el archivo y seleccionar permisos

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.