Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Upload de archivos

Estas en el tema de Upload de archivos en el foro de PHP en Foros del Web. Código PHP: if( $nuevo_avatar  !=  $usuario [ 'avatar' ])  $nombre  =  $_FILES [ 'imagen' ][ 'name' ];  $directorio  =  $_SERVER [ 'DOCUMENT_ROOT' ]. 'soul/uploads/' ;  ...
  #1 (permalink)  
Antiguo 29/03/2013, 16:00
 
Fecha de Ingreso: marzo-2012
Mensajes: 17
Antigüedad: 12 años, 1 mes
Puntos: 0
Exclamación Upload de archivos

Código PHP:
if($nuevo_avatar != $usuario['avatar']) 
$nombre $_FILES['imagen']['name']; 
$directorio $_SERVER['DOCUMENT_ROOT'].'soul/uploads/'
move_uploaded_file($_FILES['imagen'],$directorio.$nombre); 

mysql_query('UPDATE users SET avatar = "' $nuevo_avatar '" WHERE nick = "' $_SESSION['usuario'] . '"')
    or die(
mysql_error());
  echo 
'El avatar se ha guardado ';

mi problema es porque si lo sube a la tabla mysql pero a la carpeta no.
Esparo y me puedan ayduar.
  #2 (permalink)  
Antiguo 29/03/2013, 16:08
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Upload de archivos

Hola que tal.

comprueba si existe el directorio, de lo contrario créalo y además tienes un error de sintaxis, prueba y comenta.

Código PHP:

if($nuevo_avatar != $usuario['avatar']) 

    
$nombre $_FILES['imagen']['name'];  
    
$directorio $_SERVER['DOCUMENT_ROOT'].'soul/uploads/'
    if( !
is_dir$directorio ) )
    {
        
mkdir$directorio0777 );
    }
    
move_uploaded_file($_FILES['imagen'],$directorio.$nombre);  
    
mysql_query('UPDATE users SET avatar = "' $nuevo_avatar '" WHERE nick = "' $_SESSION['usuario'] . '"') or die(mysql_error()); 
     echo 
'El avatar se ha guardado '

Saludos.
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 29/03/2013, 16:23
 
Fecha de Ingreso: marzo-2012
Mensajes: 17
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Upload de archivos

nooo sigue estando mal esta como lo tenia agrega el campo al mysql peor no lo guarda ebn la carpeta xD
  #4 (permalink)  
Antiguo 29/03/2013, 16:25
 
Fecha de Ingreso: marzo-2012
Mensajes: 17
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Upload de archivos

Mira estos son mis archivos:

Editar.php

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>
  <title>Proevomex Pro</title>
  <meta name="description" content="free website template" />
  <meta name="keywords" content="enter your keywords here" />
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  <link rel="stylesheet" type="text/css" href="css/style.css" />
  <script type="text/javascript" src="js/jquery.min.js"></script>
  <script type="text/javascript" src="js/image_slide.js"></script>
</head>

<body>
   <?
include ("header.php");
?>
  <div id="main">
    <div id="site_content">    
      <?php 
include('include/config.php'); 
session_start();
if(!isset(
$_SESSION["usuario"])){
header('location: index.php');
exit();
}
$result mysql_query('SELECT * FROM users WHERE nick = "' $_SESSION['usuario'] . '"')
  or die(
mysql_error());
$usuario mysql_fetch_array($result);
mysql_free_result($result);
 
?>
 
<h1>Editando Mi Perfil</h1>
 
<p>Mostramos los campos de formulario para que editen las cosas.</p>
<p>Fíjate especialmente en que nick y otros ya están rellenados mientras que la 
  contraseña por seguridad NO.</p>
 
<form action="guardar.php" method="post">
  <b>Nick: </b>
  <input type="text" name="nick" id="nick" value="<?php echo $usuario['nick']; ?>">
 
  <br>
 <b>E-mail: </b>
  <input type="text" name="email" id="email" value="<?php echo $usuario['email']; ?>">
 
  <br>
   <br>
 <b>Firma: </b>
  <input type="text" name="rollo" id="rollo" value="<?php echo $usuario['rollo']; ?>">
 
  <br>
  <b>Contraseña: </b>
  <input type="password" name="pass" id="pass" value="">
  
  <br>
 <b>Avatar: </b>
  <input type="file" name="avatar" id="avatar" value="<?php echo $usuario['avatar']; ?>">
<br>
  <input type="submit" value="Guardar datos">
</form>
 
<br />
<i>En una situación perfecta aquí debería haber dos campos de contraseña para que el usuario
  la reescribiese para confirmarla.</i>
 
<br><br>
 
<a href="perfil.php">Cancelar</a>

      <div id="content">
        <div class="content_item">

  </div><!--close footer_container--> 
</body>
</html>
y este es el de guardar.php

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>
  <title>Proevomex Pro</title>
  <meta name="description" content="free website template" />
  <meta name="keywords" content="enter your keywords here" />
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  <link rel="stylesheet" type="text/css" href="css/style.css" />
  <script type="text/javascript" src="js/jquery.min.js"></script>
  <script type="text/javascript" src="js/image_slide.js"></script>
</head>

<body>
   <?
include ("header.php");
?>
  <div id="main">
    <div id="site_content">    
      <?php 
include('include/config.php'); 
session_start();
if(!isset(
$_SESSION["usuario"])){
header('location: index.php');
exit();
}
// Recogemos el usuario en un Array($usuario)
$result mysql_query('SELECT * FROM users WHERE nick = "' $_SESSION['usuario'] . '"')
  or die(
mysql_error());
$usuario mysql_fetch_array($result);
mysql_free_result($result);
 
// Ahora tenemos que recoger las variables que ha enviado el formulario
// Puedes hacerlo con el método que quieras. Yo por experiencia suelo usar
// este porque en caso de que haya fallos en el envio, protege de errores en el servidor
 
$nuevo_nick = empty($_POST['nick']) ? '' $_POST['nick'];
$nuevo_email = empty($_POST['email']) ? '' $_POST['email'];
$nuevo_rollo = empty($_POST['rollo']) ? '' $_POST['rollo'];
$nuevo_avatar = empty($_POST['avatar']) ? '' $_POST['avatar'];
// Traducción: comprobamos si $_POST['nick'] está vacío, si lo está ponemos una cadena
// vacia para evitar errores, si no ponemos lo que nos hayan enviado.
 
$nueva_password = empty($_POST['pass']) ? '' $_POST['pass'];
 
if(empty(
$nuevo_nick)) {
  echo 
'Debes escribir un nick o dejar el que tenías.';
  die();
}
 
if(
$nuevo_nick != $usuario['nick']) { // Si el nick ha cambiado....
  
mysql_query('UPDATE users SET nick = "' $nuevo_nick '" WHERE nick = "' $_SESSION['usuario'] . '"')
    or die(
mysql_error());
  echo 
'El nick se ha guardado. No te olvides de actualizar $_SESSION para que ';
  echo 
'refleje los cambios y podamos seguir encontrando al usuario mediante su nick.<br>';
  
$_SESSION['usuario'] = $nuevo_nick;
}

if(
$nuevo_email != $usuario['email']) { // Si el email ha cambiado....
  
mysql_query('UPDATE users SET email = "' $nuevo_email '" WHERE nick = "' $_SESSION['usuario'] . '"')
    or die(
mysql_error());
  echo 
'El Email se ha guardado ';

}
if(
$nuevo_rollo != $usuario['rollo']) { // Si el nick ha cambiado....
  
mysql_query('UPDATE users SET rollo = "' $nuevo_rollo '" WHERE nick = "' $_SESSION['usuario'] . '"')
    or die(
mysql_error());
  echo 
'La firma se ha guardado.';
 
}
if(
$nuevo_avatar != $usuario['avatar'])  
{  
    
$nombre $_FILES['avatar']['name'];   
    
$directorio $_SERVER['DOCUMENT_ROOT'].'soul/uploads/';  
    if( !
is_dir$directorio ) ) 
    { 
        
mkdir$directorio0777 ); 
    } 
    
move_uploaded_file($_FILES['avatar'],$directorio.$nombre);   
    
mysql_query('UPDATE users SET avatar = "' $nuevo_avatar '" WHERE nick = "' $_SESSION['usuario'] . '"') or die(mysql_error());  
     echo 
'El avatar se ha guardado ';  

}
if(!empty(
$nueva_password)) { 

// Si el usuario ha escrito alguna contraseña...
  
mysql_query('UPDATE users SET pass = "' $nueva_password '" WHERE nick = "' $_SESSION['usuario'] . '"')
    or die(
mysql_error());
  echo 
'La contraseña se ha guardado correctamente.<br>';
}
 
?>
<br><br>
<a href="perfil.php">Volver a Mi Perfil</a>

      <div id="content">
        <div class="content_item">

  </div><!--close footer_container--> 
</body>
</html>
Espero y asi me puedas ayudar un poco mas saludos--
  #5 (permalink)  
Antiguo 30/03/2013, 02:17
 
Fecha de Ingreso: marzo-2012
Mensajes: 17
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Upload de archivos

alguien que em pueda ayudar con ese codigo se lo agradeceria bastante..

saludos a todos

Etiquetas: mysql, sql, tabla, upload
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 21:53.