Comunidad de diseño web y desarrollo en internet online

Ayuda upload archivos

Citar            
MensajeEscrito el 30 Jun 2008 10:35 am
Tengo un problema con un upload de archivos con un Script PHP.

Este, consigue que suba el archivo, que ingrese la ruta en una BBDD.

Pero el archivo subido da error, no se puede ver ni abrir. Los permisos de la carpeta los tengo bien y el temaño de los archivos subidos corresponde con los originales:


Código :

<?
include("includes/config.php");
include("includes/funciones.php");
include("secure.php");

if(isset($_POST['submit'])){
   $error = false;
   // si hay imagen.
   if (is_uploaded_file($_FILES['archivo']['tmp_name'])) {
      //revisamos que sea jpg
      if ($_FILES['archivo']['type'] == "application/pdf" || $_FILES['archivo']['type'] == "application/zip" || $_FILES['archivo']['type'] == "image/jpeg" || $_FILES['archivo']['type'] == "image/pjpeg" || $_FILES['archivo']['type'] == "image/jpg"){
         //nombre de la imagen
         $nombre = $_FILES['archivo']['name'];
         //movemos la imagen.
         move_uploaded_file($_FILES['archivo']['tmp_name'], "archivos/".$nombre);
      }else{
         $error = true;
         $errormsg = "Formato no válido de archivo";
      }
   } else {
      //imagen no se pudo subir o no seleccionaron.
      $error=true;
      $errormsg = "Error al cargar imagen: " . $_FILES['archivo']['name'];
   }//fin file upload.
      
   //continuamos con el insert.
   //si hay error no hay imagen.
   if($error){
      $nombre = "N/A";
   }
   $campos = "parte";
   $valores = "'$nombre'";
   //nos conectamos a la bd.
   $cnx = conectar();
   $res = mysql_query("INSERT INTO partes ($campos) VALUES($valores)") or die (mysql_error());
   //cerramos la conexión.
   mysql_close($cnx);
   //mensaje de exito.
   $titulo = "Registro Ingresado";
   $mensaje = "El registro ha sido ingresado";
   $link = "<a href='index.php'>regresar</a>";
   exit;
}

?>

<html>
<head>
<title>Agregar_archivo</title>
</head>
<body>
<form action="<? echo $SERVER['PHP_SELF']?>" method="post" enctype="multipart/form-data" name="form">
  <table>
    <tr>
      <td>Archivo Pdf, Jpg o Zip:
        <input type="hidden" name="MAX_FILE_SIZE" value="500000">
      <br>
      <input name="archivo" type="file" id="archivo"></td>
    </tr>
    <tr>
      <td><input name="submit" type="submit" id="submit" value="Enviar"></td>
    </tr>
  </table>
</form>
</body>
</html>


De la misma manera, el upload se salta las restrinciones de tipo de archivo y tamaña.

Alguna idea.

Por Idearis

19 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Jun 2008 05:29 pm
A primera vista, no veo que esté mal el control de tipo de archivo.
Te diría, que antes del script, pusieras unos cuantos "echo", para ver que el archivo llega bien, y de paso ver sus propiedades:

Código :

echo '<pre>';
print_r($_FILES['archivo']);
echo '</pre>';


Escribelo... y pon en un post el resultado que devuelve, a ver.

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 01 Jul 2008 07:06 am
Me devuelve el siguiente array

Código :

Array
(
    [name] => archivo.pdf
    [type] => application/pdf
    [tmp_name] => /tmp/phpo6JnnN
    [error] => 0
    [size] => 147176
)

Por Idearis

19 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.