Foros del Web » Programando para Internet » PHP »

Subir archivos

Estas en el tema de Subir archivos en el foro de PHP en Foros del Web. Hola, soy realmente novato en el manejo de php. He logrado crear un formulario que funciona correctamente excepto porque no puedo subir archivos a travès ...
  #1 (permalink)  
Antiguo 13/05/2005, 18:40
 
Fecha de Ingreso: mayo-2005
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Subir archivos

Hola, soy realmente novato en el manejo de php. He logrado crear un formulario que funciona correctamente excepto porque no puedo subir archivos a travès del formulario.

Les copio el código...he marcado en rojo lo que creo que está funcionando mal...pero no se realmente bien qué es. Espero me puedan dar una ayuda con esto......Gracias.

Este es el mensaje de error que me arroja:
Parse error: parse error, unexpected '{' in /webcp/docs/webs/7074051390/www/sendmail.php on line 53


<?php


$nombre = $_POST['nombre'] ;

$nacim = $_POST['nacim'] ;

$dni = $_POST['dni'] ;

$ciud = $_POST['ciud'] ;

$pass = $_POST['pass'] ;

$alt = $_POST['alt'] ;

$pes = $_POST['pes'] ;

$ojos = $_POST['ojos'] ;

$tel = $_POST['tel'] ;

$cel = $_POST['cel'] ;

$mail = $_POST['mail'] ;

$idiom = $_POST['idiom'] ;

$dep = $_POST['dep'] ;

$music = $_POST['music'] ;

$formartis = $_POST['formartis'] ;

$expartis = $_POST['expartis'] ;

$radiobutton = $_POST['radiobutton'] ;

$extension = explode(".",$archivo_name);
$num = count($extension)-1;
if($extension[$num] == "jpg")
{
if($archivo_size < 100000)
{
if(!copy($archivo,"archivos/".$archivo_name) {
echo "error al copiar el archivo";
}
else
{
echo "archivo subido con exito";
}
}
else
{
echo "el archivo supera los 100kb";
}
}
else
{
echo "el formato de archivo no es valido, solo .jpg";
}

$message = "Nombre y Apellido: $nombre
Fecha de Nacimiento: $nacim
D.N.I: $dni
Ciudadanía: $ciud
Vencimiento Pasaporte: $pass
Altura: $alt
Peso: $pes
Color de Ojos: $ojos
Teléfono: $tel
Celular: $cel
e-mail: $mail
Idiomas: $idiom
Deportes: $dep
Instrumentos Musicales: $music
Formación Artística: $formartis
Experiencia Artística: $expartis
Revisa sus mails diariamente: $radiobutton";



if (empty($nombre)) {

echo ("Por favor, complete el campo: Nombre<br><a href='javascript:history.back()' class='rogelio'>Volver</a>");

}

elseif (strlen($nombre)<4) {

echo ("Por favor, escriba mas de cuatro caracteres en el campo: Nombre<br><a href='javascript:history.back()' class='rogelio'>Volver</a>");

}

elseif (empty($nacim)) {

echo ("Por favor, complete el campo: nacim<br><a href='javascript:history.back()' class='rogelio'>Volver</a>");

}

elseif (strlen($nacim)<4) {

echo ("Por favor, escriba mas de ocho caracteres en el campo: nacim<br><a href='javascript:history.back()' class='rogelio'>Volver</a>");

}

elseif (empty($dni)) {

echo ("Por favor, complete el campo: dni<br><a href='javascript:history.back()' class='rogelio'>Volver</a>");

}

elseif (empty($ciud)) {

echo ("Por favor, complete el campo: ciud<br><a href='javascript:history.back()' class='rogelio'>Volver</a>");

}

else {

mail( "[email protected]", "Formulario Scouting", $message, "From: $mail" );

echo ("Gracias por contactarnos.<br><a href='index.html' class='rogelio'>Volver</a>");

}

?>



</body>
</html>

Última edición por ledlogan; 13/05/2005 a las 18:46
  #2 (permalink)  
Antiguo 13/05/2005, 19:12
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Prueba este codigo que repera errores que vi usando mi estilo de como lo hago yo.

Código PHP:
<?php


$nombre 
$_POST['nombre'] ;

$nacim $_POST['nacim'] ;

$dni $_POST['dni'] ;

$ciud $_POST['ciud'] ;

$pass $_POST['pass'] ;

$alt $_POST['alt'] ;

$pes $_POST['pes'] ;

$ojos $_POST['ojos'] ;

$tel $_POST['tel'] ;

$cel $_POST['cel'] ;

$mail $_POST['mail'] ;

$idiom $_POST['idiom'] ;

$dep $_POST['dep'] ;

$music $_POST['music'] ;

$formartis $_POST['formartis'] ;

$expartis $_POST['expartis'] ;

$radiobutton $_POST['radiobutton'] ;

$nombre_imagen $_FILES["archivo"]['name'];
$tipo_imagen $_FILES["archivo"]['type'];
$archivo_size $_FILES["archivo"]['size'];
$temp $_FILES["archivo"]['tmp_name'];

if(
$tipo_imagen == "image/jpeg" || $tipo == "image/pjpeg") {
 if(
$archivo_size <= 100000) {
  if(!
move_uploaded_file($temp,"archivos/".$nombre_imagen)){
  echo 
"error al copiar el archivo";
  }
  else{
  echo 
"archivo subido con exito";
  }
 }
 else{
 echo 
"el archivo supera los 100kb";
 }
}
else {
echo 
"el formato de archivo no es valido, solo .jpg";
}

$message "Nombre y Apellido: $nombre
Fecha de Nacimiento: $nacim
D.N.I: $dni
Ciudadanía: $ciud
Vencimiento Pasaporte: $pass
Altura: $alt
Peso: $pes
Color de Ojos: $ojos
Teléfono: $tel
Celular: $cel
e-mail: $mail
Idiomas: $idiom
Deportes: $dep
Instrumentos Musicales: $music
Formación Artística: $formartis
Experiencia Artística: $expartis
Revisa sus mails diariamente: $radiobutton"
;



if (empty(
$nombre)) {

echo (
"Por favor, complete el campo: Nombre<br><a href='javascript:history.back()' class='rogelio'>Volver</a>");

}

elseif (
strlen($nombre)<4) {

echo (
"Por favor, escriba mas de cuatro caracteres en el campo: Nombre<br><a href='javascript:history.back()' class='rogelio'>Volver</a>");

}

elseif (empty(
$nacim)) {

echo (
"Por favor, complete el campo: nacim<br><a href='javascript:history.back()' class='rogelio'>Volver</a>");

}

elseif (
strlen($nacim)<4) {

echo (
"Por favor, escriba mas de ocho caracteres en el campo: nacim<br><a href='javascript:history.back()' class='rogelio'>Volver</a>");

}

elseif (empty(
$dni)) {

echo (
"Por favor, complete el campo: dni<br><a href='javascript:history.back()' class='rogelio'>Volver</a>");

}

elseif (empty(
$ciud)) {

echo (
"Por favor, complete el campo: ciud<br><a href='javascript:history.back()' class='rogelio'>Volver</a>");

}

else {

mail"[email protected]""Formulario Scouting"$message"From: $mail" );

echo (
"Gracias por contactarnos.<br><a href='index.html' class='rogelio'>Volver</a>");

}

?>
  #3 (permalink)  
Antiguo 13/05/2005, 20:15
 
Fecha de Ingreso: mayo-2005
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Necesito que los archivos subidos me lleguen por mail.

Gracias Dwaks por tu ayuda. Tuve que hacerle unas correciones al código para que funcione ya que aunque le subiera un archivo jpeg me informaba el " formato de archivo no es valido, solo .jpgGracias por contactarnos"
Me podrás decir cuál es el error.....por lo pronto para que funcione le tuve que borrar:
if($tipo_imagen == "image/jpeg" || $tipo == "image/pjpeg") y también :
else {echo "el formato de archivo no es valido, solo .jpg";
}

Otra pregunta, si no es molestia,....luego de enviado el archivo, este se aloja en la carpeta que se le haya indicado......pero me pregunto qué se debe corregir para que el archivo me lo envíe por mail junto con la demás info del formulario..?
Gracias por tu ayuda.
Ledlogan
  #4 (permalink)  
Antiguo 14/05/2005, 00:26
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por ledlogan
Tuve que hacerle unas correciones al código para que funcione ya que aunque le subiera un archivo jpeg me informaba el " formato de archivo no es valido, solo .jpgGracias por contactarnos"
¿seguro que era jpeg??.. intenta con esta condición:
Código PHP:
if($tipo_imagen == "image/jpeg" || $tipo_imagen == "image/pjpeg" || $tipo_imagen == "image/jpg"
.. aunque desconosco las imagenes pjpeg , pero sí dwaks lo dice, hay que creerle
Cita:
me pregunto qué se debe corregir para que el archivo me lo envíe por mail junto con la demás info del formulario..?
Cabeceras, indicar que enviarás datos multipart/From-Data como lo haces con un simple formulario... podrías, sí no quieres complicarte, enviar un enlace hacia el archivo ... pero si es necesario adjuntarlo es mejor que busques en el foro sobre phpMailer. (igual busca "enviar archivos adjuntos", para leer del tema).

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 14/05/2005 a las 00:35
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:02.