Foros del Web » Programando para Internet » PHP »

problemas con UPLOAD de archivos .DOC

Estas en el tema de problemas con UPLOAD de archivos .DOC en el foro de PHP en Foros del Web. seños, estoy haciendo una web con php y mysql, la cual tiene secciones donde se pueden subir imagenes es una seccion tipo mercado libre, osea ...
  #1 (permalink)  
Antiguo 23/01/2006, 07:12
 
Fecha de Ingreso: septiembre-2004
Ubicación: Santiago de Chile
Mensajes: 156
Antigüedad: 19 años, 6 meses
Puntos: 0
problemas con UPLOAD de archivos .DOC

seños, estoy haciendo una web con php y mysql, la cual tiene secciones donde se pueden subir imagenes es una seccion tipo mercado libre, osea venden sus productos y si este tiene imagen, la pueden subir..
Todo eso funciona perfecto..
pero ahora tengo otra seccion donde las personas pueden buscar trabajo, y subir al servidor su curriculum.
en la base de datos estoy guardando la direccion del archivo, y todo funciona maravilloso, ya que me escribe la ruta completa del archivo, el unico inconveniente es que del archivo NI LUCES :( osea sube a la base la direccion pero el archivo no esta....

originalmete use el move_upload_file, pero el servidor no lo soporto y tuve que cambiar por copy, les reitero que para las foto gif, jpg funciona super bien, pero con doc y RTF nada....
les dejo mi codigo a ver si alguien sabe donde me estoy equivocando.

de ante mano muchas gracias.
Código PHP:
<?                      session_start();
        
$id_usu $_SESSION['cepa'];
        
$conexion mysql_connect("localhost","cepasa_root","")
        or die (
"Fallo en el establecimiento de la conexin");

    
mysql_select_db("cepasa_cepa")
    or die(
"Error en la seleccin de la base de datos");

#ARCHIVO DEL MERCADO LABORAL AQUI HAGO EL UPLOAD
$nombre_archivo $HTTP_POST_FILES['archivo']['name'];
$tipo_archivo $HTTP_POST_FILES['archivo']['type'];
$tamano_archivo $HTTP_POST_FILES['archivo']['size'];
$path "../cepagyg/archivos_laboral/";
if(
$nombre_archivo != ""){
//compruebo si las caractersticas del archivo son las que deseo
if (!((strpos($tipo_archivo"doc") || strpos($tipo_archivo"rtf")) && ($tamano_archivo 100000))) {
    echo 
"Se permiten archivos .doc o .rtf</td></tr></table>";
}
else
{
    if (
copy($HTTP_POST_FILES['archivo']['tmp_name'],$path.$nombre_archivo)){
       
header("Location:servicios.php?laboral_ingresado=si");
    }else{
       echo 
"Ocurrio algun error al subir el fichero. No pudo guardarse.";
    }
}
}

#termina la carga de archivo
$fecha strftime ("%d/%m/%Y", (mktime (0,0,0,(date(m)),(date(d)),(date(Y)))));
$trabajo $_POST["trabajo"];
$desc_breve $_POST["descripcion"];
$archivo $path.$nombre_archivo;
echo 
$archivo//aqui estaba probando que la direccion sea correcta
                        
if($nombre_archivo != ""){
$sql "insert into detalle_laboral values('','$trabajo','$desc_breve','$archivo','$fecha','$id_usu','1')";
                           
$rs mysql_query($sql$conexion)
                        or die(
"Error al seleccionar todo".mysql_error);
                        }
                        echo 
"bien";

                        if(
$nombre_archivo != ""){
                        
$sql "insert into detalle_laboral values('','$trabajo','$desc_breve','','$fecha','$id_usu','1')";
                        
$rs mysql_query($sql$conexion)
                        or die(
"Error al seleccionar todo".mysql_error);
                        }
                         echo 
"bien";
                        
?>

Última edición por guiweb; 23/01/2006 a las 11:42
  #2 (permalink)  
Antiguo 23/01/2006, 08:51
 
Fecha de Ingreso: julio-2003
Ubicación: Buenos Aires
Mensajes: 96
Antigüedad: 20 años, 9 meses
Puntos: 0
¿de que tamaño son los archivos que deseas subir? ejecuta esto:

<?php echo phpinfo(); ?>

y fijate en la directiva post_max_size

Saludos.
  #3 (permalink)  
Antiguo 23/01/2006, 10:07
 
Fecha de Ingreso: septiembre-2004
Ubicación: Santiago de Chile
Mensajes: 156
Antigüedad: 19 años, 6 meses
Puntos: 0
son de menos de 100 KB y todo caso me da 55MB de POST
  #4 (permalink)  
Antiguo 23/01/2006, 14:08
 
Fecha de Ingreso: octubre-2004
Ubicación: Guatemala
Mensajes: 83
Antigüedad: 19 años, 5 meses
Puntos: 0
Una duda: la instrucción

$tipo_archivo = $HTTP_POST_FILES['archivo']['type'];

que valores te devuelve, ya que si no estoy mal, no te devuelve el doc o rtf sino un valor tipo "application/msword" o algo por el estilo. Creo que ese podria ser el problema.

Talvez algo simple, pero tambien podrías ver si tienes permisos en la carpeta para copiar archivos, a mi me ha pasado.
__________________
Definitivamente la vida no es como en las películas...
C'est la vie
  #5 (permalink)  
Antiguo 23/01/2006, 15:56
 
Fecha de Ingreso: septiembre-2004
Ubicación: Santiago de Chile
Mensajes: 156
Antigüedad: 19 años, 6 meses
Puntos: 0
Cita:
Iniciado por ogamboa_gt
Una duda: la instrucción

$tipo_archivo = $HTTP_POST_FILES['archivo']['type'];

que valores te devuelve, ya que si no estoy mal, no te devuelve el doc o rtf sino un valor tipo "application/msword" o algo por el estilo. Creo que ese podria ser el problema.

Talvez algo simple, pero tambien podrías ver si tienes permisos en la carpeta para copiar archivos, a mi me ha pasado.
correcto, me devuelve el varloe application/msword entonces que puedo hacer???
gracias
  #6 (permalink)  
Antiguo 23/01/2006, 16:10
 
Fecha de Ingreso: septiembre-2004
Ubicación: Santiago de Chile
Mensajes: 156
Antigüedad: 19 años, 6 meses
Puntos: 0
ejaaaaaa ya encontre la solucion AQUI dejo el codigo para el que quiera subir cualquier archivo a su pagina..

y dice...

Código PHP:
<?
session_start
();
$id_usu $_SESSION['algo'];
$conexion mysql_connect("localhost","cepasa_root","")
or die (
"Fallo en el establecimiento de la conexión");

mysql_select_db("base de datos")
or die(
"Error en la selección de la base de datos");
#ARCHIVO DEL MERCADO LABORAL
$nombre_archivo $HTTP_POST_FILES['archivo']['name'];
$tamano_archivo $HTTP_POST_FILES['archivo']['size'];
$path "DIRECTORIO donde se guardaran los archivos";

if(
$nombre_archivo != ""){
//compruebo si las características del archivo son las que deseo
{
    if (
copy($HTTP_POST_FILES['archivo']['tmp_name'],$path.$nombre_archivo)){
       }else{
       echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse.";
    }
}
}

#termina la carga de archivo
$fecha strftime ("%d/%m/%Y", (mktime (0,0,0,(date(m)),(date(d)),(date(Y)))));
$trabajo $_POST["trabajo"];
$desc_breve $_POST["descripcion"];
$archivo $path.$nombre_archivo;

                        if(
$nombre_archivo != ""){
        
$sql "insert into .........,'$archivo'..
                           $rs = mysql_query($sql, $conexion)
                        or die("
Error al seleccionar todo".mysql_error);
                        }
                        echo "
bien";

                        if($nombre_archivo != ""){
                        $sql = "
insert into .........,'$archivo'..
                        
$rs mysql_query($sql$conexion)
                or die(
"Error al seleccionar todo".mysql_error);
                        }
                         echo 
"bien";
                        
?>
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 17:43.