Foros del Web » Programando para Internet » PHP »

Subir pdf

Estas en el tema de Subir pdf en el foro de PHP en Foros del Web. Hola. tengo el siguiente script en php para subir imagenes jpg o gif. ¿Como podria modificarlo para subir tambien archivos pdf.? Gracias. <?php include("../includes/config.php"); include("../includes/funciones.php"); ...
  #1 (permalink)  
Antiguo 22/03/2009, 05:18
Avatar de DIRAB51  
Fecha de Ingreso: diciembre-2002
Mensajes: 106
Antigüedad: 21 años, 4 meses
Puntos: 0
Subir pdf

Hola.
tengo el siguiente script en php para subir imagenes jpg o gif.
¿Como podria modificarlo para subir tambien archivos pdf.?
Gracias.

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

//path de las imagenes
$p=0;
if(isset($_POST['submit'])){
$fecha = date("Y/m/d h:i:s");
$entradilla= $_POST['entradilla'];
//$ruta = "imagenes_noticias/";
$cuerp = $_POST['cuerp'];
if ($_FILES['archivo1']['name'] != "" )
{
$foto= $_FILES['archivo1']['name'];
$tipo_archivo1 = $_FILES['archivo1']['type'];
$tamano_archivo1 = $_FILES['archivo1']['size'];
}

if ($_FILES['archivo1']['name'] == "" OR $tipo_archivo1 == "image/pjpeg" OR $tipo_archivo1 == "image/jpeg" OR $tipo_archivo1 == "image/gif" )
{
if ($entradilla != "" )
{
//Comprobar imagen existe.
$sql = "select * from tbl_noticias where foto1='".$foto1."'";
$resultado = mysql_query($sql);
$numero = mysql_num_rows($resultado);
while(true){
$p++;
$tam = strlen($foto);
if ( $tam == 0 ){ break; }
$nombre = substr($foto,0,$tam -3);
$exten = substr($foto,$tam -4,$tam);
$foto1 = $nombre .$p. $exten;
$sql = "select * from tbl_noticias where foto1='".$foto1."'";
$resultado = mysql_query($sql);
$numero = mysql_num_rows($resultado);
if ( $numero < 1 ){ break;}
}
move_uploaded_file ( $_FILES [ 'archivo1' ][ 'tmp_name' ],'../imagenes_noticias/'. $foto1);
if ($foto1 != null){chmod('../imagenes_noticias/'. $foto1,0777);}
$campos = "entradilla,cuerpo,foto1,fecha";
$valores = "'$entradilla','$cuerp','$foto1','$fecha'";

$cnx = conectar();
$res = mysql_query("INSERT INTO tbl_noticias ($campos) VALUES($valores)") or die (mysql_error());
mysql_close($cnx);
header("location: index.php?add=1");
//exit;
}
else
{
$mensaje="Error debe escribir mínimo la entradilla de la noticia..";
}


}
else
{
$mensaje="Error sólo puede subir archivos .jpg o .gif.";
}

}
?>

<head>
<title>Administrador</title>
<link rel="stylesheet" href="../css/global.css" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="<?=$SERVER["PHP_SELF"]?>" method="post" enctype="multipart/form-data" id="form1" name="form1">
<div id="cont_sombra">
<div id="contenedor">
<div class="administrador">
<a href="http://www.pepe.com"><img class="lo" src="../img/logo.jpg" /></a>
<a class="salir" href="salir.php">salir</a>
<div class="ad_13">
<p class="titu">Agregar noticia</p>
<div class="edt"><span class="define">Entradilla: </span><span><input class="decora" name="entradilla" type="text" id="entradilla" size="101" value=""></span></div>
<div class="edt"><span class="define">Cuerpo: </span><span><textarea class="decora" name="cuerp" id="cuerp" rows="5" cols="98"></textarea></span></div>
<div class="edt"><input name="archivo1" type="file" id="archivo1"></div>
<div class="edt"><span class="advertencia"> Se recomienda usar sólo .jpg y .gif. Las imágenes no deben superar los 350px de ancho.</span><div>
<?php
if ($mensaje)
{
echo "<div class=\"edt msg\"><img class=\"peligr\" src=\"../img/peligro.gif\" /> $mensaje<div>";

}
?>
<div class="edt"><input name="submit" type="submit" id="submit" value="Enviar"></div>
<div class="edt"><a class="regresar" href="index.php">regresar</a></div>
</div>

</div>
</div>
</div>
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 22/03/2009, 05:28
 
Fecha de Ingreso: mayo-2005
Mensajes: 45
Antigüedad: 18 años, 10 meses
Puntos: 1
Respuesta: Subir pdf

Deberías modificar donde se comprueba el tipo de archivo:
Código PHP:
if ($_FILES['archivo1']['name'] == "" OR $tipo_archivo1 == "image/pjpeg" OR $tipo_archivo1 == "image/jpeg" OR $tipo_archivo1 == "image/gif" 
Para aceptar archivos pdf que el mime type sería "application/pdf". Pero tengo que recordarte que estas validaciones son vulnerables porque pueden subir otro archivo distinto y hacer que su navegador te engañe mandandote otro mime.
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:56.