Foros del Web » Programando para Internet » PHP »

Problema con upload

Estas en el tema de Problema con upload en el foro de PHP en Foros del Web. Estoy luchando desde hace unas horas con un 'uploader', y no hay caso espero que alguien pueda ayudarme... he leido pila de posts que tratan ...
  #1 (permalink)  
Antiguo 22/06/2006, 12:25
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
Pregunta Problema con upload

Estoy luchando desde hace unas horas con un 'uploader', y no hay caso

espero que alguien pueda ayudarme... he leido pila de posts que tratan el tema y no he encontrado solución...

Formulario:
Código:
<form name="form1" method="post" enctype="multipart/form-data" action="index.php?pag=agregar_comercio&order=agregar">
	<table width="358" border="0" align="center" cellspacing="5">
		<tr>
		<td align="right" valign="top" style="color:#000;">Imágen:</td>
		<td><input name="img" type="file" size="20"></td>
		</tr>
...
Uploader:
Código PHP:
$directorio $_SERVER['DOCUMENT_ROOT'].'/nuevo/img/';

//datos del arhivo
$nombre_archivo $HTTP_POST_FILES['img']['name'];
$tipo_archivo $HTTP_POST_FILES['img']['type'];
$tamano_archivo $HTTP_POST_FILES['img']['size'];

//subo el arhivo
if (move_uploaded_file($HTTP_POST_FILES['img']['tmp_name'],$directorio.$nombre_archivo)){
    echo 
"El archivo ha sido cargado correctamente.";
}else{
    echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse.";

No se qué es lo que está mal, pero me tira el sg error:

Cita:
Warning: move_uploaded_file(/home/elfaro/public_html/nuevo/img/002.jpg): failed to open stream: Permission denied in /home/elfaro/public_html/nuevo/admin/index.php on line 231

Warning: move_uploaded_file(): Unable to move '/tmp/phpS8lMFI' to '/home/elfaro/public_html/nuevo/img/002.jpg' in /home/elfaro/public_html/nuevo/admin/index.php on line 231
Ocurrió algún error al subir el fichero. No pudo guardarse.

Help, please!

Salu2 y gracias!
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #2 (permalink)  
Antiguo 22/06/2006, 12:38
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Le has dado el permiso a la carmeta donde llevas el archivo?
  #3 (permalink)  
Antiguo 22/06/2006, 12:39
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
No será que la carpeta no tieme permisos de escritura??? sinceramente no me manejo en cuanto a uploads... así que ayudarte como quieres no puedo :/
  #4 (permalink)  
Antiguo 22/06/2006, 20:42
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
me siento MUY estúpido...

muchísimas gracias Raules y spider_boy (y disculpen todos)...

eran los permisos nomás...!

es increible, me pase como 2 horas dandole vueltas al código y eran los malditos permisos....
y bue', muchas veces las soluciones son tan fáciles que no las vemos...

saludos a todos...
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #5 (permalink)  
Antiguo 23/06/2006, 00:19
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Buenas Anarninquë,

Podrías poner el codigo completo de todas las funciones para subir el archivo?

Gracias
  #6 (permalink)  
Antiguo 23/06/2006, 07:28
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
El código completo es el que aparece arriba:
- un formulario en el que se pida la imagen...
- y un uploader, que suba la img al server...

yo ademas tengo que me agrege (el nombre de la img) a una DB... (si te interesa me lo pides y lo agrego... )

Espero que te pueda servir de algo... bye
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #7 (permalink)  
Antiguo 23/06/2006, 07:45
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Pues si lo pones mejor porque yo lo que quiero es subir una imagen e identificarla por un nombre y una id...., que a lo mejor puedo conseguirlo con tu codigo...

pero en definitiva lo tuyo seria esto?


Este es el formulario.php

Código HTML:
<form name="form1" method="post" enctype="multipart/form-data" action="index.php?pag=agregar_comercio&order=agregar">
	<table width="358" border="0" align="center" cellspacing="5">
		<tr>
		<td align="right" valign="top" style="color:#000;">Imágen:</td>
		<td><input name="img" type="file" size="20"></td>
		</tr> 
y el uploader.php por ejemplo lo siguiente?

Código PHP:
$directorio $_SERVER['DOCUMENT_ROOT'].'/nuevo/img/'

//datos del arhivo 
$nombre_archivo $HTTP_POST_FILES['img']['name']; 
$tipo_archivo $HTTP_POST_FILES['img']['type']; 
$tamano_archivo $HTTP_POST_FILES['img']['size']; 

//subo el arhivo 
if (move_uploaded_file($HTTP_POST_FILES['img']['tmp_name'],$directorio.$nombre_archivo)){ 
    echo 
"El archivo ha sido cargado correctamente."
}else{ 
    echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse."

O como lo tienes estructurado todo?

si puedes ponlo como me as dicho de darle el nombre del archivo en la base de datos...
  #8 (permalink)  
Antiguo 23/06/2006, 08:33
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
Uploader en PHP

No se si será "la mejor forma", pero aquí dejo el código de un Uploader para quién le sirva de algo...

Código PHP:
//***************************
// CONEXIÓN CON LA BASE DE DATOS
//***************************

if ($order == 'agregar'){
    
$nombre $_POST['nombre'];
    
$directorio $_SERVER['DOCUMENT_ROOT'].'/nuevo/fotos/'//aquí iría TU directorio...
    //datos del arhivo
    
$nombre_archivo $HTTP_POST_FILES['img']['name'];
    
$tipo_archivo $HTTP_POST_FILES['img']['type'];
    
$tamano_archivo $HTTP_POST_FILES['img']['size'];

    if (
$nombre != NULL){
        
$consulta_agregar ="INSERT into comercios (nombre, img) values ('$nombre','$nombre_archivo')";
        
$resultado_agregar mysql_query($consulta_agregar);
        
$id mysql_insert_id();

    
//subo el arhivo
        
if (move_uploaded_file($HTTP_POST_FILES['img']['tmp_name'],$directorio.$nombre_archivo)){
            echo 
"Archivo subido correctamente";
        }else{
            echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse.";
        }

    }

}else{
    echo 
'<form name="form1" method="post" enctype="multipart/form-data" action="index.php?pag=agregar_comercio&order=agregar">
     <table width="358" border="0" align="center" cellspacing="5">
        <tr>
            <td align="right" valign="top" style="color:#000;">Nombre: </td>
            <td><input name="nombre" type="text" size="30"></td>
        </tr>
        <tr>
            <td align="right" valign="top" style="color:#000;">Imágen:</td>
            <td><input name="img" type="file" size="20"></td>
        </tr>
        <tr>
            <td height="21" colspan="2" align="center"><input name="Enviar" type="submit" value="Enviar" /></td>
        </tr>
     </table>
</form>
'
;

Bueno, eso es todo (creo) , cualquier consulta, no duden en preguntar

__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #9 (permalink)  
Antiguo 23/06/2006, 10:04
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Y que estructura tienes en la base de datos?

Despues si quieres ver la imagen que tienes subida como haces la consulta?
  #10 (permalink)  
Antiguo 24/06/2006, 12:25
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
un campo "id" otro campo "nombre" (que guarda el título de la imágen) y otro campo "img" (que guarda el nombre del archivo...)...


Para hacer la consulta como cualquier consulta mysql:

Código PHP:
$consulta "SELECT * from imagenes (WHERE) ... (ORDER BY) ... ";
$resultado mysql_query($consulta);
while (
$fila mysql_fetch_Array($resultado)) {
 <
img src="#directorio#/'.$fila[nombre].'">
}
//... etc... 
se entendió?
suerte!

cualquier cosa, vuelve a preguntar!
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
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:56.