Foros del Web » Programando para Internet » PHP »

ayuda con unos codigos

Estas en el tema de ayuda con unos codigos en el foro de PHP en Foros del Web. Buenas amigos tengo un problema tengo un codigo de upload que funciona pero este me sube una imagen a la bd y yo lo que ...
  #1 (permalink)  
Antiguo 02/03/2010, 13:07
 
Fecha de Ingreso: marzo-2010
Mensajes: 16
Antigüedad: 14 años, 1 mes
Puntos: 0
ayuda con unos codigos

Buenas amigos tengo un problema tengo un codigo de upload que funciona pero este me sube una imagen a la bd y yo lo que quiero es que se suba el archivo por ejemplo puro zip y lo guarde a una carpeta y guarde el path en la bd

este es el codigo

Código:
<?php 
//ESTA FUNCION LA USAREMOS PARA OBTENER EL TAMAÑO DE NUESTRO ARCHIVO
function filesize_format($bytes, $format = '', $force = ''){
$bytes=(float)$bytes;
if ($bytes< 1024){
$numero=number_format($bytes, 0, '.', ',');
return array($numero,"B");
}
if ($bytes< 1048576){
$numero=number_format($bytes/1024, 2, '.', ',');
return array($numero,"KBs");
}
if ($bytes>= 1048576){
$numero=number_format($bytes/1048576, 2, '.', ',');
return array($numero,"MB");
}
}
//VERIFICAMOS QUE SE SELECCIONO ALGUN ARCHIVO
if(sizeof($_FILES)==0){
echo "No se puede subir el archivo";
exit();
}
// EN ESTA VARIABLE ALMACENAMOS EL NOMBRE TEMPORAL QU SE LE ASIGNO ESTE NOMBRE ES GENERADO POR EL SERVIDOR
// ASI QUE SI NUESTRO ARCHIVO SE LLAMA foto.jpg el tmp_name no sera foto.jpg sino un nombre como SI12349712983.tmp por decir un ejemplo
$archivo = $_FILES["archivo"]["tmp_name"];
//Definimos un array para almacenar el tamaño del archivo
$tamanio=array();
//OBTENEMOS EL TAMAÑO DEL ARCHIVO
$tamanio = $_FILES["archivo"]["size"];
//OBTENEMOS EL TIPO MIME DEL ARCHIVO
$tipo = $_FILES["archivo"]["type"];
//OBTENEMOS EL NOMBRE REAL DEL ARCHIVO AQUI SI SERIA foto.jpg
$nombre_archivo = $_FILES["archivo"]["name"];
//PARA HACERNOS LA VIDA MAS FACIL EXTRAEMOS LOS DATOS DEL REQUEST
extract($_REQUEST);
//VERIFICAMOS DE NUEVO QUE SE SELECCIONO ALGUN ARCHIVO
if ( $archivo != "none" ){
//ABRIMOS EL ARCHIVO EN MODO SOLO LECTURA
// VERIFICAMOS EL TAÑANO DEL ARCHIVO
$fp = fopen($archivo, "rb");
//LEEMOS EL CONTENIDO DEL ARCHIVO
$contenido = fread($fp, $tamanio);
//CON LA FUNCION addslashes AGREGAMOS UN  A CADA COMILLA SIMPLE ' PORQUE DE OTRA MANERA
//NOS MARCARIA ERROR A LA HORA DE REALIZAR EL INSERT EN NUESTRA TABLA
$contenido = addslashes($contenido);
//CERRAMOS EL ARCHIVO
fclose($fp);
// VERIFICAMOS EL TAÑANO DEL ARCHIVO
if ($tamanio="1048576"){
//HACEMOS LA CONVERSION PARA PODER GUARDAR SI EL TAMAÑO ESTA EN b ó MB
$tamanio=filesize_format($tamanio);
}

//CREAMOS NUESTRO INSERT
$qry = "INSERT INTO tbl_documentos ( titulo,nombre_archivo, descripcion, contenido, tamanio,tamanio_unidad, tipo ) VALUES
('$titulo','$nombre_archivo', '$descripcion','$contenido','{$tamanio[0]}','{$tamanio[1]}', '$tipo')";

//NOS CONECAMOS A LA BASE DE DATOS
//REMPLAZEN SUS VALOS POR LOS MIOS
mysql_connect("localhost","manganix_manga","rosario13") or die("No se pudo conectar a la base de datos");

//SELECCIONAMOS LA BASE DE DATOS CON LA CUAL VAMOS A TRABAJAR CAMBIEN EL VALOR POR LA SUYA
mysql_select_db("manganix_prueba");

//EJECUTAMOS LA CONSULTA
mysql_query($qry) or die("Query: $qry <br />Error: ".mysql_error());

//CERRAMOS LA CONEXION
mysql_close();
//NOTIFICAMOS AL USUARIO QUE EL ARCHVO SE HA ENVIADO O REDIRIGIMOS A OTRO LADO ETC.
echo "Archivo Agregado Correctamente<br />";
echo '<a href="form.html">Subir Otro Archivo</a><br /> ';
}else{
echo "No fue posible subir el archivo";
echo '<a href="form.html">Subir Otro Archivo</a><br /> ';
}
?>
si alguien me pudiera ayudar a modificarlo le estaria agradecido.

gracias.
  #2 (permalink)  
Antiguo 02/03/2010, 13:11
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: ayuda con unos codigos

esto es todo lo que necesitas

http://docs.php.net/manual/es/features.file-upload.php
  #3 (permalink)  
Antiguo 02/03/2010, 13:19
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: ayuda con unos codigos

no puedo ayudarte en este momento, pero puedo decir que te tienes un error al comprobar
Código PHP:
Ver original
  1. // VERIFICAMOS EL TAÑANO DEL ARCHIVO
  2. //falta un =
  3. if ($tamanio=="1048576"){
  4. //HACEMOS LA CONVERSION PARA PODER GUARDAR SI EL TAMAÑO ESTA EN b ó MB
  5. $tamanio=filesize_format($tamanio);
  6. }
y tambien te falta usar el move_uploaded_file
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 02/03/2010, 13:52
 
Fecha de Ingreso: marzo-2010
Mensajes: 16
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ayuda con unos codigos

si mas o menos sabia que debo usar el move_uploaded_file que me comentas eits pero el problema es que no se como integrarlo al codigo., ademas de como poner que solo sean archivos zip
  #5 (permalink)  
Antiguo 02/03/2010, 14:18
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: ayuda con unos codigos

repito

Cita:
Iniciado por enlinea777 Ver Mensaje
para validar y el codigo:
Código PHP:
Ver original
  1. $nombre_del_archivo=$_FILES['archivo']['name'];
  2. if (eregi(".zip",$nombre_del_archivo)){
  3. move_uploaded_file($_FILES['archivo']['tmp_name'], $patch.$nombre_del_archivo)){ //mueve el fichero
  4.     print="fichero subido";
  5.     }
  6.     else{print "error";
  7.     }
  8. }else{
  9.     print "el fichero no es ZIP";
  10.     }

Etiquetas: codigos
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 23:41.