Foros del Web » Programando para Internet » PHP »

subir datos al servidor y tabla

Estas en el tema de subir datos al servidor y tabla en el foro de PHP en Foros del Web. Buenas hace tiempo encontre un codigo para subir los datos, pero mi duda es k no puedo subir los datos y subir la foto al ...
  #1 (permalink)  
Antiguo 01/07/2004, 13:29
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
subir datos al servidor y tabla

Buenas hace tiempo encontre un codigo para subir los datos, pero mi duda es k no puedo subir los datos y subir la foto al servidor, el codigo es el siguiente:

<?

//pagina de alta del usuario
include('Conexion.php');
include('Func.php');

//tomo el valor de un elemento de tipo texto del formulario

//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'],"fotos/$nombre_archivo")){
echo "El archivo ha sido cargado correctamente.";
}else{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}

$sql="INSERT INTO pedido (ref,nombre,habs,id,ing,esp,fra,ale,ciudad,precio, foto) VALUES('$_POST[referencia]','$_POST[nombre]','$_POST[numero]',$_POST[id],'$_POST[ingl]','$_POST[espa]','$_POST[franc]','$_POST[alem]','$_POST[ciudad]','$_POST[precio]','$_POST[userfile]')";
?>


no me deja añadir los datos ni tampc sube los datos a la base d datos
  #2 (permalink)  
Antiguo 07/07/2004, 15:12
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
alguien me podria echar una mano en el problema????
  #3 (permalink)  
Antiguo 07/07/2004, 16:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y el formulario HTML?

Por qué parece que no estás usando codificación "enctype" adecuada para enviar un formulario con datos binarios (tus archivos) y datos "planos" (tus variables del mismo formulario).

Revisalo en tu definición de formulario HTML:
Código PHP:
<form enctype="multipart/form-data" action="_URL_" method="post"
más info:
http://www.php.net/manual/en/features.file-upload.php

Un saludo,
  #4 (permalink)  
Antiguo 07/07/2004, 16:29
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
en el formulario tengo puesto:

<table width="305" height="70" border="0" cellpadding="0" cellspacing="0" STYLE="TOP:1px;Left:1px;">
<form action="alta.php" method="post" name="formu" id="formu" whidth="100% height=100%" enctype="multipart/form-data">

<tr>
<td><strong><font color="#FF9900" size="2" face="Arial, Helvetica, sans-serif">Referencia</font></strong></td>
<td> <div align="left"> <input name="referencia" type="text" id="referencia" size="30"></div></td>
</tr>

q es la pagina en la cual va el codigo q he puesto. lo k me dice es lo siguiente

Warning: move_uploaded_file(fotos/Jul06105.JPG): failed to open stream: No such file or directory in f:\appserv\www\prueba\alta.php on line 21

Warning: move_uploaded_file(): Unable to move 'F:\WINNT\TEMP\php39.tmp' to 'fotos/Jul06105.JPG' in f:\appserv\www\prueba\alta.php on line 21
Ocurrió algún error al subir el fichero. No pudo guardarse.

y la linea 21 es:

if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],"fotos/$nombre_archivo")){
  #5 (permalink)  
Antiguo 07/07/2004, 16:32
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
lo pegue mal primero ta el form y despues el table
  #6 (permalink)  
Antiguo 08/07/2004, 09:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. en principio te comenté que usases los arrays superglobales (por tu seguridad) (si usas PHP versión 4.1.0 o superior):

Código PHP:
if (move_uploaded_file($_FILES['userfile']['tmp_name'],"fotos/$_FILES['userfile']['name'])){ 

Luego .. el directorio fotos/ debe estar creado (bajo la rama que esté tu script) y con permisos de escritura (si corresponde .. revisalos).

Un saludo,
  #7 (permalink)  
Antiguo 08/07/2004, 16:10
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 14 años
Puntos: 0
he puesto lo k me dijistes, pero me da el siguiente error:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in f:\appserv\www\antelo\alta.php on line 21
  #8 (permalink)  
Antiguo 08/07/2004, 20:34
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Mejor si pones qué dice la línea 21 de alta.php para saber el error. Y mejor si pones algunas líneas anteriores y otras posteriores.

Saludos
  #9 (permalink)  
Antiguo 09/07/2004, 07:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Me dejé una comilla .. (y puntito de concatenación) ..

if (move_uploaded_file($_FILES['userfile']['tmp_name'],"fotos/".$_FILES['userfile']['name'])){

Pero te recomiendo una vez más que leas el link que dejé del manual oficial de PHP sobre el tema de Uploads.

Un saludo,
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 08:48.