Foros del Web » Programando para Internet » PHP »

Problemas para subir archivos!

Estas en el tema de Problemas para subir archivos! en el foro de PHP en Foros del Web. Hola! de nuevo yo.. mi problema es que tengo un error en el codigo a la hora de subir una imágen en una noticia por ...
  #1 (permalink)  
Antiguo 27/07/2011, 11:43
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 15 años, 8 meses
Puntos: 0
Exclamación Problemas para subir archivos!

Hola! de nuevo yo.. mi problema es que tengo un error en el codigo a la hora de subir una imágen en una noticia por medio de un código php. Cuando lo uso en mi pc, en el localhost, funciona de maravilla. Pero cuando lo uso en el servidor web, ya subida la página, me tira error.

fotos_crear.php:
Código PHP:
<?
require("seguridad.php");
    
$_SESSION["autorizado"];
    
    
include(
"config.php");

// 1.- conectar al servidor
$link mysql_connect($servidor$usuario$pass) or die(mysql_error());        
        
// 2.- seleccionar la bd
$bd mysql_select_db($basedato$link) or die(mysql_error());        


if(
$_POST['guardar'])
{
        if(
$_FILES['foto']['error'] != 0
            {
                
                switch (
$_FILES['foto']['error'])
                {
                    case 
1// UPLOAD_ERR_INI_SIZE
                            
$mensaje_error2 " <font color='#FF0000'> El archivo sobrepasa el limite autorizado por el servidor.</font><br>";
                        break;
                    case 
2// UPLOAD_ERR_FORM_SIZE
                            
$mensaje_error2 " <font color='#FF0000'> El archivo sobrepasa el limite autorizado por la aplicacion.</font><br>";
                        break;
                    case 
3// UPLOAD_ERR_PARTIAL
                            
$mensaje_error2 " <font color='#FF0000'> El envio del archivo ha sido suspendido durante la transferencia.</font><br>";
                        break;
                    case 
4// UPLOAD_ERR_NO_FILE
                            
$mensaje_error2 " <font color='#FF0000'> El archivo que ha enviado tiene peso nulo.</font><br>";
                        break;
                }
                
                
$mensaje "<strong><font color='#666'>Hay problemas para subir el archivo. Intente nuevamente. Error: </font></strong>".$mensaje_error2;
                
            }else
            {
                if(
$_FILES['foto']['error'] == 0)
                {
                        
                        
//Nombre de archivo
                        
$nombre substr($_FILES['foto']['name'], 0strrpos($_FILES['foto']['name'],'.'));
                            
                                            
                        
//Extension de archivo
                        
$extension substr($_FILES['foto']['name'], strrpos($_FILES['foto']['name'],'.') );
                        
                        
//Detecta si la extension del archivo es correcta
                        
if((strtolower($extension) == '.gif') OR (strtolower($extension) == '.jpg') OR (strtolower($extension) == '.png') )  
                        {
                        
                            
//Detecta si el tamaño es el correcto
                            
if(($_FILES['foto']['size'] > 0) AND ($_FILES['foto']['size'] < 550000) )
                            {
                        
                                    
$directorio "../galeria/";
                                    
                                    if(isset(
$_FILES['foto']['tmp_name']))
                                    {
                                        if (
is_uploaded_file$_FILES['foto']['tmp_name'])) 
                                        {
                                            
                                            
$nombrecompleto =  $nombre.$extension;
                                            if(
file_exists($directorio.$nombrecompleto)){
                                                
unlink($directorio.$nombrecompleto);
                                            }
                                            
copy($_FILES['foto']['tmp_name'], $directorio.$nombrecompleto);
                                        }  
                                    }
                                    
                                    
// 3.- Selecciono los usuarios que encuetro
                                    
$sql "    
                                                UPDATE noticias SET
                                                descripcion  =    '" 
$_POST['descripcion'] . "', 
                                                foto         =  '" 
$nombrecompleto "'
                                                WHERE idNoticia         = '" 
.$_POST['idNoticia']     . "'";
                                    
                                    
$resultado mysql_query($sql$link) or die(mysql_error());    
                                    
header("Location: noticias_listar.php");
                            }else
                            {
                                
$mensaje "<strong>Error:</strong><font color='#FF0000'> El peso de la imagen que desea subir es muy grande.</font>";
                            }
                        }else
                        {
                            
$mensaje "<strong>Error:</strong><font color='#FF0000'> Esta intentando subir un archivo no valido. Solo se permiten con extension GIF, JPEG o PNG.</font>";
                        }            
                }
            }        
}

?>

<form id="form1" name="form1" method="post" action="" enctype="multipart/form-data">
<table width="680" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="49" background="images/header.jpg">&nbsp;</td>
  </tr>
</table>
<table width="680" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="32" background="images/menu.jpg"><table width="550" border="0" align="center" cellpadding="0" cellspacing="0" class="shadow">
      <tr>
        <td width="381">&nbsp;</td>
        <td width="169"><a href="noticias_listar.php">Cerrar y volver al listado</a></td>
      </tr>
    </table></td>
  </tr>
</table>
<table width="680" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="181" background="images/body 01.jpg"><br />
      <table width="500" height="156" border="0" align="center" cellpadding="2" bordercolor="#003366" style="border-collapse:collapse; color: #000;">
      <tr>
        <td width="151" height="41"><span class="textocargarnoticia">Descripcion: <span class="Estilo4">
          <input name="idNoticia" type="hidden" id="idNoticia" value="<?= $_GET['id']; ?>" />
        </span></span></td>
        <td width="335"><input type="text" name="descripcion" value="" size="52" style="border-width: 1px; border-style: solid; font-size:8pt; color: #666; letter-spacing : 1px;" class="textarea"/></td>
      </tr>
      <tr>
        <td height="70"><span class="textocargarnoticia">Foto:</span></td>
        <td><input type="file" name="foto" value="" style="border-width: 1px; border-style: solid; font-size:8pt; color: #666; letter-spacing : 1px;" class="textarea"/></td>
      </tr>
      <tr>
        <td height="37" colspan="2"><table width="100" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
              <td><input type="submit" name="guardar" value=" Guardar Foto" class="boton" /></td>
            </tr>
          </table></td>
      </tr>
    </table>
      <table width="550" border="0" align="center">
        <tr>
          <td><span class="Estilo41">
            <?= $mensaje?>
            </span></td>
          </tr>
      </table></td>
  </tr>
</table>
<table width="680" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="75" background="images/body 02.jpg">&nbsp;</td>
  </tr>
</table>
<p>&nbsp;</p>
<br />
<br />
</form>
Espero que puedan ayudarme. Gracias de antemano.
Un abrazo.

<< niko >>
  #2 (permalink)  
Antiguo 27/07/2011, 11:46
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problemas para subir archivos!

Que error te da en el servidor web? seguramente es por falta de permisos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 27/07/2011, 12:01
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problemas para subir archivos!

Si, perdon, me re olvide de poner los errores que tira:


Warning: copy(../galeria/206944_10150545593715277_610810276_18038031_299018 5_n.jpg) [function.copy]: failed to open stream: Permission denied in /home/municipa/public_html/admin/fotos_crear.php on line 69

Warning: Cannot modify header information - headers already sent by (output started at /home/municipa/public_html/admin/fotos_crear.php:69) in /home/municipa/public_html/admin/fotos_crear.php on line 81
  #4 (permalink)  
Antiguo 27/07/2011, 12:36
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Problemas para subir archivos!

Pues como dice andres, verifica que tienes permisos de escritura en el directorio donde guardas la imagen.

El segundo mensaje es debido al primero, solucionandolo se solucionara tambien este.
  #5 (permalink)  
Antiguo 27/07/2011, 12:51
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problemas para subir archivos!

Perdon mi ignorancia, pero hacia siglos q no laburaba con php.. como hago para verificar los permisos de escritura del directorio?
  #6 (permalink)  
Antiguo 27/07/2011, 12:55
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Problemas para subir archivos!

Cita:
Iniciado por NnikoO Ver Mensaje
Perdon mi ignorancia, pero hacia siglos q no laburaba con php.. como hago para verificar los permisos de escritura del directorio?
Esto lo puedes hacer desde el panel de control de tu hosting (si tiene administrador de archivos) o desde tu cliente de FTP (depende del cliente, pero probablemente seria algo como click derecho en directorio > asignar permisos
  #7 (permalink)  
Antiguo 27/07/2011, 13:03
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problemas para subir archivos!

ooohhhh! que estúpido! ahora que lo veo ya me acuerdo, gracias loco, hacia demasiado tiempo que no lo hacia...

Etiquetas: 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 22:50.