Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/01/2006, 20:43
Avatar de kalolo
kalolo
 
Fecha de Ingreso: abril-2005
Mensajes: 65
Antigüedad: 19 años
Puntos: 0
Problemas, a subir archivod a BD

Saludos, antes de publicar esto, busque en muchos post sobre maneras de subir archivos y guardar el binario en la base de datos, la mayoria es la misma escencia, pero no vi a alguien que tubiera el mismo problema que yo.

Bueno.. mi problema realmente esque cierto archivos si los guarda, y no tiene que ver con el peso, mas que nada losque si guarda son archivos de imagen, pdf, y txt .... y falla con archivox xls, audio.. bueno ... algunos...

Leei tambien la funcion que usa cluster, es ahi donde vi lo de addslahes apartir de ahi funciono para guardar imagenes tambien :| .. bueno.. dejo el codigo y espero puedan ayudarme en que estoy mal

funcion para subir:
Código PHP:

    
if(isset($_POST['btnSubirArchivo']))/* checamos el boton subir archivo */
    
{
        if(!
$_POST['txtArchivo_Titulo'] || !$_POST['txtArchivo_Descripcion'] || !$_FILES['File'])//<- Validamso que lso campos no esten vacios
        
$msg='<span class="msgerror">Error, no puedes dejar campos vacios.</span>'; }
        else
        {
            if(
is_uploaded_file($_FILES['File']['tmp_name']))//<- Evualmos que el servidor ya tenga posecion del archivo.
            
{
                
$Binario_TMP=fopen($_FILES['File']['tmp_name'],'r');//<- Abrimos el archivo de manera binaria.
                
$binario_contenido=addslashes(fread($Binario_TMP,$_FILES['File']['size']));//<- Leemos todo el contenido del mismo.
                
$binario_nombre $_FILES['File']['name'];//<- Nombre del archivo otorgado por el cliente.
                
$binario_peso =   $_FILES['File']['size'];//<- Peso del archivo.
                
$binario_tipo =   $_FILES['File']['type'];//<- Tipo de archivo. 
                
                /* Creamos el string del insert */
                
$Insert="INSERT INTO archivos (id_user, nombre, tipo, archivo, size, titulo, descripcion, fecha) VALUES ('".$_SESSION['id_user']."', '".$binario_nombre."', '".$binario_tipo."', '".$binario_contenido."',  '".$binario_peso."', '".$_POST['txtArchivo_Titulo']."', '".$_POST['txtArchivo_Descripcion']."', '".$fch."');";
                
                
/*- Ejecutamos la insercion. y evaluamos si hay error -*/
                
if(!mysql_query($Insert))
                  
$msg='<span class="msgerror">Error en la consulta</span>';
                 else
                  
$msg='<span class="msgexito">Archivo guardado.</span>';                 
            }            
        } 
Form:
Código HTML:
<table width="650" border="0" cellspacing="0" cellpadding="0">
  <tr align="left" valign="bottom">
    <td width="48"><img src="images/icons/TextFile.png" width="48" height="48"></td>
    <td width="602" valign="middle" class="title1">Subir Archivo </td>
  </tr>
  <tr>
    <td colspan="2">

<form action="?op=subir_archivo" method="post" enctype="multipart/form-data" name="form_SubirArchivo">
      <table width="100%" border="0" cellspacing="2" cellpadding="0">
        <tr align="left" valign="bottom">
          <td width="12%" class="title1">Archivo:</td>
          <td width="88%"><input name="File" type="file" class="estilo-inputs1" id="File" size="50"></td>
        </tr>
        <tr align="left" valign="bottom">
          <td class="title1">Titulo:</td>
          <td><input name="txtArchivo_Titulo" type="text" class="estilo-inputs1" id="txtArchivo_Titulo" size="50"></td>
        </tr>
        <tr align="left" valign="bottom">
          <td colspan="2" class="title1">Descripcion:</td>
        </tr>
        <tr align="left" valign="bottom">
          <td colspan="2"><textarea name="txtArchivo_Descripcion" cols="120" rows="8" class="estilo-inputs1" id="txtArchivo_Descripcion"></textarea></td>
        </tr>
        <tr>
          <td colspan="2"><input name="btnSubirArchivo" type="submit" class="Boton1" id="btnSubirArchivo" value="Subir Archivo"><?php echo $msg; echo $tabla; ?></td>
        </tr>
      </table>
    </form>

</td>
  </tr>
</table> 

Saludos, y de ante mano .. gracias.
__________________
There is no place like 127.0.0.1