Foros del Web » Programando para Internet » PHP »

subir un archivo pdf por medio de un formulario

Estas en el tema de subir un archivo pdf por medio de un formulario en el foro de PHP en Foros del Web. hola amigos!!! necesito me ayuden con ese archivo... deseo hacer una plataforma en la que se puedan subir archivos pdf en cualquier momento del año.. ...
  #1 (permalink)  
Antiguo 11/06/2008, 14:06
 
Fecha de Ingreso: junio-2008
Mensajes: 22
Antigüedad: 15 años, 10 meses
Puntos: 0
Información subir un archivo pdf por medio de un formulario

hola amigos!!! necesito me ayuden con ese archivo... deseo hacer una plataforma en la que se puedan subir archivos pdf en cualquier momento del año.. que se visualizen posteriormente en otra pagina y por ultimo poder guardar esos archivos pdf en una base de datos... se que es mucha molestia... pero estaria muy agradecida si me ayudaran.. este en mi codigo para la plataforma:

<form action="pagina2.php" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="submit" value="Subir archivo">
</form>

<?php
function subirarchivo($var_name, $var_size, $var_tmp, $var_tipo, $location, $filename, $maxfilesize)
{
$ok = false;
$archivo_name = strtolower($var_name);
$archivo_size = $var_size;
$archivo_tmp = $var_tmp;
$archivo_tipo = $var_tipo;

// 1 - Chequea el tipo de archivo.
if($archivo_tipo=="application/vnd.ms-excel" || $archivo_tipo=="application/pdf" || $archivo_tipo=="application/msword" || $archivo_tipo=="text/plain" || $archivo_tipo=="image/jpeg" || $archivo_tipo=="image/pjpeg" || $archivo_tipo=="image/gif" || $archivo_tipo=="image/x-png" || $archivo_tipo=="image/png")
{
// Si tipo de archivo es correcto.
$ok = true;
}
else
{
// Si el tipo de archivo no es correcto.
echo "Error 1 - El archivo $archivo_name, no es un documento valido.";
}

// 2 - Chequea Tamaño.
if(isset($maxfilesize))
{
if($archivo_size > $maxfilesize)
{// Si Tamaño de archivo mayor de lo permitido.
$ok = false;
echo "Error 2 - El archivo es mayor de tamaño maximo.";
}
}
// 3 - Si el archivo pasa todas las verificaciones anterioes ok = true.
if($ok==true)
{
$tempname = $archivo_tmp;
if(isset($filename)){$uploadpath = $location.$filename;
}
else{$uploadpath = $location.str_replace(" ","_",$archivo_name);
}

if(is_uploaded_file($archivo_tmp))
{
while(move_uploaded_file($tempname, $uploadpath))
{
chmod($uploadpath, 0775);
echo "Archivo añadido,";
}
}
return true;
}
else{return false;}
}

$KB = 100;
$archivo_name = $_FILES["archivo"]['name'];
$archivo_size = $_FILES["archivo"]['size'];
$archivo_tmp = $_FILES["archivo"]['tmp_name'];
$archivo_tipo = $_FILES["archivo"]['type'];
$DirArchivo = "/copias/";
$T_Archivo = $KB*1024;

if(subirarchivo($archivo_name, $archivo_size, $archivo_tmp, $archivo_tipo, $DirArchivo, NULL, $T_Archivo)){
echo(" subida satisfactoria!<br>");
}
else{
echo(" subida fallida...<br>");
}


?>

</body>
</html>


SE QUE TENGO ERRORES PORQUE ME LOS MARCA PERO NO ENCUENTRO SOLUCION .. AYUDENME POR FAVOR.. SE QUE ALGUNO DE USTEDES SABE MAS QUE YO Y ME AYUDARA... GRACIAS
  #2 (permalink)  
Antiguo 11/06/2008, 15:05
 
Fecha de Ingreso: junio-2008
Mensajes: 11
Antigüedad: 15 años, 10 meses
Puntos: 0
De acuerdo Respuesta: subir un archivo pdf por medio de un formulario

Hola amigo te voy a ayudar a subir arcivos en JPG y RAR para imagenes y arcivos comprimidos y de alli tu agregaras para los demas formatos que quieras, los archivos funcionan correctamente y guarda la informacion en una carpeta llamada uploads, osea son 2 archivos en PHP y una carpeta llamada uploads.


Comencemos.

Paso I.

Crear una carpeta llamada (uploads).

Paso II.

crear un archivo en PHP llamado index.php

Código PHP:
<form action="upload.php" method="post" enctype="multipart/form-data">
  
    <
b>Enviar un nuevo archivo: </b>
    <
br>
    <
input name="userfile" type="file">
    <
br>
    <
input type="submit" value="Enviar">
    </
form
y por ultimo crear un archivo llamado upload.php

Código PHP:
<?
// Configuración
$folder "uploads/"// Carpeta a la que queremos subir los archivos
$maxlimit 50000000// Máximo límite de tamaño (en bits)
$allowed_ext "rar,jpg"// Extensiones permitidas (usad una coma para separarlas)
$overwrite "no"// Permitir sobreescritura? (yes/no)
// creado por maracaiboenlinea.com
$match ""
$filesize $_FILES['userfile']['size']; // toma el tamaño del archivo
$filename strtolower($_FILES['userfile']['name']); // toma el nombre del archivo y lo pasa a minúsculas


if(!$filename || $filename==""){ // mira si no se ha seleccionado ningún archivo
   
$error "- Ningún archivo selecccionado para subir.<br>";
}elseif(
file_exists($folder.$filename) && $overwrite=="no"){ // comprueba si el archivo existe ya
   
$error "- El archivo <b>$filename</b> ya existe<br>";
}

// comprobar tamaño de archivo
if($filesize 1){ // el archivo está vacío
   
$error .= "- Archivo vacío.<br>";
}elseif(
$filesize $maxlimit){ // el archivo supera el máximo
   
$error .= "- Este archivo supera el máximo tamaño permitido.<br>";
}

$file_ext preg_split("/\./",$filename); // aquí no tengo claro lo que hace xD
$allowed_ext preg_split("/\,/",$allowed_ext); // ídem, algo con las extensiones
foreach($allowed_ext as $ext){
   if(
$ext==$file_ext[1]) $match "1"// Permite el archivo
}

// Extensión no permitida
if(!$match){
   
$error .= "- Este tipo de archivo no está permitido: $filename<br>";
}

if(
$error){
   print 
"Se ha producido el siguiente error al subir el archivo:<br> $error"// Muestra los errores
}else{
   if(
move_uploaded_file($_FILES['userfile']['tmp_name'], $folder.$filename)){ // Finalmente sube el archivo
      
print "<b>$filename</b> se ha subido correctamente!"//el mensaje que saldra cuando el archivo este subido
   
}else{
      print 
"Error! Puede que el tamaño supere el máximo permitido por el servidor. Inténtelo de nuevo."// Otro error
   
}
}

?>
<form>
     <INPUT TYPE="button" VALUE="Atrás" onClick="history.back()">
</form>


Cita:
Iniciado por nadia_kleber Ver Mensaje
hola amigos!!! necesito me ayuden con ese archivo... deseo hacer una plataforma en la que se puedan subir archivos pdf en cualquier momento del año.. que se visualizen posteriormente en otra pagina y por ultimo poder guardar esos archivos pdf en una base de datos... se que es mucha molestia... pero estaria muy agradecida si me ayudaran.. este en mi codigo para la plataforma:

<form action="pagina2.php" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="submit" value="Subir archivo">
</form>

<?php
function subirarchivo($var_name, $var_size, $var_tmp, $var_tipo, $location, $filename, $maxfilesize)
{
$ok = false;
$archivo_name = strtolower($var_name);
$archivo_size = $var_size;
$archivo_tmp = $var_tmp;
$archivo_tipo = $var_tipo;

// 1 - Chequea el tipo de archivo.
if($archivo_tipo=="application/vnd.ms-excel" || $archivo_tipo=="application/pdf" || $archivo_tipo=="application/msword" || $archivo_tipo=="text/plain" || $archivo_tipo=="image/jpeg" || $archivo_tipo=="image/pjpeg" || $archivo_tipo=="image/gif" || $archivo_tipo=="image/x-png" || $archivo_tipo=="image/png")
{
// Si tipo de archivo es correcto.
$ok = true;
}
else
{
// Si el tipo de archivo no es correcto.
echo "Error 1 - El archivo $archivo_name, no es un documento valido.";
}

// 2 - Chequea Tamaño.
if(isset($maxfilesize))
{
if($archivo_size > $maxfilesize)
{// Si Tamaño de archivo mayor de lo permitido.
$ok = false;
echo "Error 2 - El archivo es mayor de tamaño maximo.";
}
}
// 3 - Si el archivo pasa todas las verificaciones anterioes ok = true.
if($ok==true)
{
$tempname = $archivo_tmp;
if(isset($filename)){$uploadpath = $location.$filename;
}
else{$uploadpath = $location.str_replace(" ","_",$archivo_name);
}

if(is_uploaded_file($archivo_tmp))
{
while(move_uploaded_file($tempname, $uploadpath))
{
chmod($uploadpath, 0775);
echo "Archivo añadido,";
}
}
return true;
}
else{return false;}
}

$KB = 100;
$archivo_name = $_FILES["archivo"]['name'];
$archivo_size = $_FILES["archivo"]['size'];
$archivo_tmp = $_FILES["archivo"]['tmp_name'];
$archivo_tipo = $_FILES["archivo"]['type'];
$DirArchivo = "/copias/";
$T_Archivo = $KB*1024;

if(subirarchivo($archivo_name, $archivo_size, $archivo_tmp, $archivo_tipo, $DirArchivo, NULL, $T_Archivo)){
echo(" subida satisfactoria!<br>");
}
else{
echo(" subida fallida...<br>");
}


?>

</body>
</html>


SE QUE TENGO ERRORES PORQUE ME LOS MARCA PERO NO ENCUENTRO SOLUCION .. AYUDENME POR FAVOR.. SE QUE ALGUNO DE USTEDES SABE MAS QUE YO Y ME AYUDARA... GRACIAS
  #3 (permalink)  
Antiguo 13/06/2008, 11:39
 
Fecha de Ingreso: junio-2008
Mensajes: 22
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: subir un archivo pdf por medio de un formulario

gracias por tu ayuda Php_MySql.. el codigo que me envio me ayudo mucho, solo cambie algunos datos y me funciono .. solo tengo otra pregunta.. como le hago para que los archivos que subi se guarden en una base datos??

gracias de nuevo por compartir sus conocimientos y ayudarme
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 05:57.