Foros del Web » Programando para Internet » PHP »

Erro al subir archivo

Estas en el tema de Erro al subir archivo en el foro de PHP en Foros del Web. Hay un error al tratar de subir el archivo Codigo: Código PHP: <? //tomo el valor de un elemento de tipo texto del formulario  $cadenatexto  =  $_POST [ "cadenatexto" ];  echo  "La imagen se inserto en el directorio /imagenes bajo el nombre de "  .  $id  .  ...
  #1 (permalink)  
Antiguo 29/09/2004, 13:28
 
Fecha de Ingreso: septiembre-2004
Mensajes: 49
Antigüedad: 20 años, 2 meses
Puntos: 0
Erro al subir archivo

Hay un error al tratar de subir el archivo


Codigo:
Código PHP:
<?
//tomo el valor de un elemento de tipo texto del formulario 
$cadenatexto $_POST["cadenatexto"]; 
echo 
"La imagen se inserto en el directorio /imagenes bajo el nombre de " $id "<br><br>"

//datos del arhivo 
$nombre_archivo $HTTP_POST_FILES['userfile']['name']; 
$tipo_archivo $HTTP_POST_FILES['userfile']['type']; 
$tamano_archivo $HTTP_POST_FILES['userfile']['size']; 
//compruebo si las características del archivo son las que deseo 
if (!((strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg")) && ($tamano_archivo 100000))) { 
    echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>"
}else{ 
    if (
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], imagenes/$id)){ 
       echo 
"El archivo ha sido cargado correctamente."
    }else{ 
       echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse."
    } 
?>

Y el error
Código PHP:
Warningmove_uploaded_file(0): failed to open streamPermission denied in /home/lasarten/domains/lasarten.sizzly.com/public_html/lacal/ventas/insertar.php on line 21

Warning
move_uploaded_file(): Unable to move '/tmp/phpk69aIs' to '0' in /home/lasarten/domains/lasarten.sizzly.com/public_html/lacal/ventas/insertar.php on line 21
Ocurrió algún error al subir el fichero
No pudo guardarse

Creo que es porque no pudo escribirse en el directorio temporal, y si es así como se arregla.

Gracias

JavierRey
  #2 (permalink)  
Antiguo 30/09/2004, 07:55
Avatar de newfaq  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 243
Antigüedad: 20 años, 2 meses
Puntos: 0
No estas teniendo en cuenta los permisos del servidor...
probaste con "chmod"?

Salu2
  #3 (permalink)  
Antiguo 30/09/2004, 08:09
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,

En el destino de move_uploaded_file() te fallo poner las comillas a la cadena. Tal como lo tienes ahora te esta haciendo una division.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 30/09/2004, 13:51
 
Fecha de Ingreso: septiembre-2004
Mensajes: 49
Antigüedad: 20 años, 2 meses
Puntos: 0
Con comillas

Le puse las comillas y me aparecio esto:
Código PHP:
Warningmove_uploaded_file(imagenes/003): failed to open streamNo such file or directory in /home/lasarten/domains/lasarten.sizzly.com/public_html/lacal/ventas/insertar.php on line 21

Warning
move_uploaded_file(): Unable to move '/tmp/phpAX55OK' to 'imagenes/003' in /home/lasarten/domains/lasarten.sizzly.com/public_html/lacal/ventas/insertar.php on line 21
Ocurrió algún error al subir el fichero
No pudo guardarse


Y como pruebo con "chmod"?

Gracias
Javier Rey
  #5 (permalink)  
Antiguo 30/09/2004, 13:56
 
Fecha de Ingreso: septiembre-2004
Mensajes: 49
Antigüedad: 20 años, 2 meses
Puntos: 0
Capaz

Capaz es porque uso distintos codigos para un mismo formulario miren:

este es el formulario
Código PHP:
<FORM ACTION="insertar.php" METHOD="POST" enctype="multipart/form-data">
<
span class="formulario">Id</span><br>
<
INPUT TYPE="TEXT" NAME="id"><br>
<
span class="formulario">Barrio</span><br>
<
INPUT TYPE="TEXT" NAME="barrio"><br>
<
span class="formulario">Características</span><br>
<
INPUT TYPE="TEXT" NAME="tipo">
   <
b><br>
   </
b><span class="formulario">Campo de tipo texto:</span
    <
br
    <
input name="cadenatexto" type="text" value="no poner nada" size="20" maxlength="100"
    <
input type="hidden" name="MAX_FILE_SIZE" value="100000"
<
br><span class="formulario"
    
Enviar un nuevo archivo:  
    </
span><br
    <
input name="userfile" type="file"
<
br><br><br>
<
INPUT TYPE="SUBMIT" value="Agregar a la base de datos">
</
FORM
Ahi tengo una campo que no se usa para nada pero por si acaso lo dejo.

Y el insertar.php

Código PHP:
<?
//tomo el valor de un elemento de tipo texto del formulario 
$cadenatexto $_POST["cadenatexto"]; 
echo 
"La imagen se inserto en el directorio /imagenes bajo el nombre de " $id "<br><br>"

//datos del arhivo 
$nombre_archivo $HTTP_POST_FILES['userfile']['name']; 
$tipo_archivo $HTTP_POST_FILES['userfile']['type']; 
$tamano_archivo $HTTP_POST_FILES['userfile']['size']; 
//compruebo si las características del archivo son las que deseo 
if (!((strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg")) && ($tamano_archivo 100000))) { 
    echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>"
}else{ 
    if (
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],"imagenes/$id")){ 
       echo 
"El archivo ha sido cargado correctamente."
    }else{ 
       echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse."
    } 


//Conexion con la base
mysql_connect("localhost","lasarten_**","****");
//Ejecucion de la sentencia SQL
mysql_db_query("lasarten_lac","insert into ventas (id,barrio,tipo) values ('$id','$barrio','$tipo')");
?>

Habra algo mal que no permite que ande el codigo..
MUCHAS GRACIAS
javier rey
  #6 (permalink)  
Antiguo 01/10/2004, 09:58
 
Fecha de Ingreso: septiembre-2004
Mensajes: 49
Antigüedad: 20 años, 2 meses
Puntos: 0
Busqueda

Nadie Sabe??
  #7 (permalink)  
Antiguo 01/10/2004, 10:55
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Doy por supuesto que el directorio imagenes existe y PHP tiene los permisos para crear ficheros en el. Pueba poniendo "./imagenes/$id". A veces he tenido problema al no indicar ./

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 02/10/2004, 15:48
 
Fecha de Ingreso: septiembre-2004
Mensajes: 49
Antigüedad: 20 años, 2 meses
Puntos: 0
Ya probe con todo

Ya probe con todo y me sigue apareciendo el error...
Código:
Warning: move_uploaded_file(imagenes/sfsdf.jpg): failed to open stream: Permission denied in /home/lasarten/domains/lasarten.sizzly.com/public_html/lacal/ventas/insertar.php on line 21

Warning: move_uploaded_file(): Unable to move '/tmp/phpZJJKb9' to 'imagenes/sfsdf.jpg' in /home/lasarten/domains/lasarten.sizzly.com/public_html/lacal/ventas/insertar.php on line 21
Ocurrió algún error al subir el fichero. No pudo guardarse.
Alguien me puede ayudar???
Muchas Gracias
Javier
  #9 (permalink)  
Antiguo 02/10/2004, 16:04
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 21 años, 4 meses
Puntos: 2
LE diste chmod 777 con tu cliente ftp a esa carpeta?
tal como dice josemi
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #10 (permalink)  
Antiguo 02/10/2004, 16:27
 
Fecha de Ingreso: septiembre-2004
Mensajes: 49
Antigüedad: 20 años, 2 meses
Puntos: 0
Perfecto

MUCHAS GRACIAS!!!

Última edición por lasarten; 02/10/2004 a las 16:29
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:21.