Foros del Web » Programando para Internet » PHP »

[Peticion] Problema al subir imagen por php

Estas en el tema de [Peticion] Problema al subir imagen por php en el foro de PHP en Foros del Web. Hola buen día. Espero que esta sea la seccion correcta para mi peticion. Les cuento brevemente, cuento con cierta pagina de internet de sociales, el ...
  #1 (permalink)  
Antiguo 17/04/2010, 12:40
 
Fecha de Ingreso: abril-2010
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
[Peticion] Problema al subir imagen por php

Hola buen día.

Espero que esta sea la seccion correcta para mi peticion.
Les cuento brevemente, cuento con cierta pagina de internet de sociales, el dia de ayer esta pagina fue transferida de un proveedor de servicios web a otro.

En donde hice la actualizacion de la base de datos correctamente pero al querer subir alguna foto o swf por medio del sistema me arroja un error:

Cita:
Warning: move_uploaded_file(../img/banners/1.jpg) [function.move-uploaded-file]: failed to open stream: Permiso denegado in /home/enbocade/public_html/ebt/banners_editar.php on line 50

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpyqgFIi' to '../img/banners/1.jpg' in /home/enbocade/public_html/ebt/banners_editar.php on line 50
Ya estube buscando información en internet y dice que los permisos son la solucion. Ya hice eso pero aun asi continua teniendose este problema.
Les dejo aqui mismo el codigo bajo el cual estoy trabajando.

Código PHP:
<?php
    
require "include/top.php";
    require 
"include/db.php";
    if(!(isset(
$_SESSION['id_autor']) and $_SESSION['id_autor'] > 0)){
        
header'Location: entrar.php');
        die;
    }

    if(!isset(
$_REQUEST['id_banner'])) $_REQUEST['id_banner'] = 0;
    
    if(isset(
$_POST['_submitted_banners'])){
       if(
$_POST['_submitted_banners'] == 'Eliminar'){
          
$update_query sprintf("DELETE FROM banners WHERE id_banner=%d",
                      
qs($_POST['id_banner']));
          
mysql_query($update_query);          
          
header'Location: banners.php');
          die;
       }

        if(
$_POST['id_banner']){
            
$update_query sprintf("UPDATE banners SET titulo=%s, ancho=%d,alto=%d,posicion=%s,activo=%d," .
                
"url =%s, texto=%s " .
                
"WHERE id_banner=%d",
                
qs($_POST['titulo']),
                
qs($_POST['ancho']),
                
qs($_POST['alto']),
                
qs($_POST['posicion']),
                
qs($_POST['activo']),
                
qs($_POST['url']),
                
qs($_POST['texto']),
                
qs($_POST['id_banner']));
            
mysql_query($update_query);
        }else{
            
$insert_query sprintf("INSERT INTO banners(titulo, imagen, ancho, alto, posicion, activo, url, texto) " .
                
"VALUES(%s,'',%d,%d,%s,1,%s,%s)",
                
qs($_POST['titulo']),
                
qs($_POST['ancho']),
                
qs($_POST['alto']),
                
qs($_POST['posicion']),
                
qs($_POST['url']),
                
qs($_POST['texto']));
            
mysql_query($insert_query);
            
$_REQUEST['id_banner'] = mysql_insert_id();
        }
           
        
$uploaddir '../img/banners/';
        
$filename1  basename($_FILES['userfile1']['name']);
         
$uploadfile1 $uploaddir $filename1;

        if (
move_uploaded_file($_FILES['userfile1']['tmp_name'], $uploadfile1)) {
            
$update_query sprintf("UPDATE banners SET imagen=%s " .
                
"WHERE id_banner=%d",
                  
qs($filename1),
                
qs($_POST['id_banner']));
            
mysql_query($update_query);
        }
        
        
$filename2  basename($_FILES['userfile2']['name']);
         
$uploadfile2 $uploaddir $filename2;

        if (
move_uploaded_file($_FILES['userfile2']['tmp_name'], $uploadfile2)) {
            
$update_query sprintf("UPDATE banners SET swf=%s " .
                
"WHERE id_banner=%d",
                  
qs($filename2),
                
qs($_POST['id_banner']));
            
mysql_query($update_query);
        }

    }

    
$sec_data = Array();
    
$sec_data['values'] = Array("Arriba","Izquierda","Centro");
    
$sec_data['labels'] = Array("Arriba"=>"Arriba","Izquierda"=>"Izquierda","Centro"=>"Centro");
    
    
$banner_query mysql_query(sprintf("SELECT * FROM banners WHERE id_banner=%d",qs($_REQUEST['id_banner'])));
    
$banner mysql_fetch_assoc($banner_query);
    
mysql_free_result($banner_query);
?>
<html>
<head>
<?php require "include/header.php"?>
</head>
<body>
<table width="100%"><tr><td align="center">
<table width="648" cellpadding=0 cellspacing=0> 
    <tr>
        <td valign="top" align="center" colspan="2">
            <?php require "include/body_header.php"?>
        </td>
    </tr>
</table>
<table width="635">
    <tr>
        <td valign="top">
            <fieldset>
                <legend>Banners</legend>
                <form name="banners" action="banners_editar.php" method="POST" enctype="multipart/form-data">
                <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
                <input type="hidden" name="_submitted_banners" value="1">
                <table>
                    <tr>
                        <td>ID</td>
                        <td><?php echo textfield("id_banner",$banner['id_banner'],array('size'=>'6','readonly'=>1)); ?></td>
                    </tr>
                    <tr>
                        <td>Posición</td>
                        <td><?php echo selectfield("posicion",$banner['posicion'],$sec_data['values'],$sec_data['labels']); ?><br>
                            Arriba: 230x90, Centro: 630x100, Izquierda: 190x0</td>
                    </tr>                    
                    <tr>
                        <td>Título</td>
                        <td><?php echo textfield("titulo",$banner['titulo'],array('size'=>'50')); ?></td>
                    </tr>
                    <tr>
                        <td>URL</td>
                        <td><?php echo textfield("url",$banner['url'],array('size'=>'50')); ?></td>
                    </tr>
                    <tr>
                        <td>Texto/Código</td>
                        <td><?php echo textarea("texto",$banner['texto'],array('cols'=>'40','rows'=>'5')); ?></td>
                    </tr>
                    <tr>
                        <td>Ancho</td>
                        <td><?php echo textfield("ancho",$banner['ancho'],array('size'=>'5')); ?></td>
                    </tr>
                    <tr>
                        <td>Alto</td>
                        <td><?php echo textfield("alto",$banner['alto'],array('size'=>'5')); ?></td>
                    </tr>
                    <tr>
                        <td>Activo</td>
                        <td><?php echo selectfield("activo",$banner['activo'],array('1','0'),array('1'=>'SI','0'=>'NO')); ?></td>
                    </tr>
                    <tr>
                        <td>Imagen</td>
                        <td><input name="userfile1" type="file" /></td>
                    </tr>
                    <tr>
                        <td>Flash</td>
                        <td><input name="userfile2" type="file" /></td>
                    </tr>
                </table>
                <center>
                    <input type="submit" value="Guardar"> 
                    <input type="submit" value="Eliminar" onClick="this.form._submitted_banners.value='Eliminar'"> 
                                        <input type="button" value="Regresar" onClick="document.location='banners.php';">
                </center>
                </form>
                <center>
                    <?php if($banner['imagen']){ ?><img src=<?php echo "../img/banners/".$banner['imagen']; ?>><?php ?>
                </center>
            </fieldset>
        </td>
    </tr>
</table>
<?php require "include/pie.php"?>
</td></tr></table>
</body>
</html>
  #2 (permalink)  
Antiguo 17/04/2010, 14:44
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: [Peticion] Problema al subir imagen por php

el problema es de permisos, algunos hosting preparan directorios especiales para ello (es decir ni por el FTP se puede), consulta con ellos

Etiquetas: peticion, subir
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 10:19.