Foros del Web » Programando para Internet » PHP »

Upload en Formulario

Estas en el tema de Upload en Formulario en el foro de PHP en Foros del Web. Hola, quisiera su ayuda, quiero crear un Upload de archivos pero que los archivos que se puedan subir solo sean .ZIP y .RAR y que ...
  #1 (permalink)  
Antiguo 27/09/2010, 21:49
 
Fecha de Ingreso: mayo-2010
Mensajes: 185
Antigüedad: 14 años
Puntos: 2
Upload en Formulario

Hola, quisiera su ayuda, quiero crear un Upload de archivos pero que los archivos que se puedan subir solo sean .ZIP y .RAR y que solo sean de 1 MB a 150 MB pero quiero añadirlo a esta pagina, toda la pagina esta bien lo unico que falta es añadirle el upload de archivos es que no tengo idea me pueden decir como? Pagina:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Estacion Rap</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="ie.css" />
<script type="text/javascript">var clear="images/clear.gif";</script>
<script type="text/javascript" src="unitpngfix.js"></script>
<![endif]-->
<style type="text/css">
<!--
.Estilo1 {
    font-size: 24px;
    font-weight: bold;
}
-->
</style>
</head>
<body>
<?php
$conexion 
mysql_connect("sql201.byethost15.com""b15_5229524""09392181");
mysql_select_db("b15_5229524_estacion"$conexion);

$queEmp "SELECT * FROM Discos ORDER BY id DESC"
$resEmp mysql_query($queEmp$conexion) or die(mysql_error());
$totEmp mysql_num_rows($resEmp);
 if (
$totEmp0) {
    while (
$rowEmp mysql_fetch_assoc($resEmp)) {
 
    }
}
?>
<!-- BEGIN wrapper -->
<div id="wrapper">
  <!-- BEGIN header -->
  <div id="header">
    <h1><a href="index.php">Silverlight</a></h1>
    <div class="ad"><a href="banner.php"><img src="images/ad468x60.gif" alt="" /></a></div>
    <div class="break"></div>
    <ul>
      <li><a href="index.php">Home</a></li>
    <?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db

if(!isset($_SESSION[usuario]) )//comprobamos que no existe la session, es decir, que no se ha logeado, y mostramos el menu
{?>
 
<li><a href="reg.php">Registro</a></li>
 <li><a href="login.php">Login</a></li>
          
<? } else{?>
<li><a href="opciones.php">Opciones de usuario</a></li>

<? ?>
      <li><a href="contacto.php">Contacto</a></li>
    </ul>
    <form action="http://www.free-css.com/">
      <input type="text" name="s" id="s" value="" />
      <button type="submit">Search</button>
    </form>
  </div>
  <!-- END header -->
  <!-- BEGIN body -->
  <div id="body">
    <!-- BEGIN content -->
    <div id="content">
      <!-- begin post -->
      <div class="first post">
        <div class="r">
          <?php 

//coloca la coneccion correcta a mysql aqui 
$conexion mysql_connect("sql201.byethost15.com""b15_5229524""09392181");  
//selecciona la base de datos en la que quieres trabajar 
//y si esa es la unica base de datos que tienes, no vuelvas a abrir coneccion con mysql 
//ni a seleccionar otra vez la db 
mysql_select_db("b15_5229524_estacion"$conexion);  


$queEmp "SELECT * FROM Discos ORDER BY id DESC";   
$resEmp mysql_query($queEmp$conexion) or die(mysql_error());  
$totEmp mysql_num_rows($resEmp);  
 if (
$totEmp0) {  
    while (
$rowEmp mysql_fetch_assoc($resEmp)) {  
     
    
//while vacio... 
   
    
}  
}  


 
//si esta coneccion es la misma que la de arriba, no hace falta incluirla 
 //y menos incluirla 3 o 4 veces  
//include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db  
//include('config');  



$state false;  

if (
$_POST['action'] == "add" && $_FILES['archivo']['name'] != "") {   

//La subida de archivo dentro del condicional 
$ruta "./imagenes/" $_FILES['archivo']['name'];  
copy($_FILES['archivo']['tmp_name'], $ruta);  
echo 
"La imagen subio correctamente"
     
     
    
//VERIFICA A QUI: 
     
     
    //aqui conectas, denuevo pero al parecer a otra base de datos 
    
$conexion mysql_connect("sql201.byethost15.com""b15_5229524""09392181");  
    
//pero a una tabla del mismo nombre 
    
mysql_select_db("b15_5229524_estacion"$conexion);  
     
    
//A $postear PUEDES DARLE UN VALOR MANUALMENTE PARA PROBAR Y QUE NO FALLE LA CONSULTA 
    
$postear $_SESSION[usuario];  

    
//session_start() debe estar precedido de la @ a esta altura del script 
    
@session_start();  
      
    
$que "INSERT INTO Discos (titulo, descripcion, imagen, descarga, fecha, enviado) ";  
    
$que.= "VALUES ('".$_POST['titulo']."', '".$_POST['descripcion']."', '".$ruta."', '".$_POST['descarga']."', '".$_POST['fecha']."', '".$_SESSION[usuario]."')";  
    
$res mysql_query($que$conexion) or die(mysql_error());  
    
$state true;  
     
     


  



}  


 
//SI INCLUDE() ES LA MISMA CONECCION A MYSQL QUE YA HICISTE NO ES NECESARIO 
//include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db y la sesión  

/* 
if($_SESSION[level] == 1 or $_SESSION[level] == 3){  
echo '';  
}else{  
Header("Location: index.php");  

*/  

?>  
<?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db y la sesión

if($_SESSION[level] == or $_SESSION[level] == 3)
{
echo 
'';

}else{
Header("Location: index.php");
}
?>
<form name="formulario" form id="insertar" enctype="multipart/form-data" method="POST" action="">  
  <p align="left" class="Estilo1">Añadir discos</p>
  <p align="left">&nbsp;</p>
  <p align="left">Titulo</p>
  <p align="left"> 
    <input name="titulo" type="text" id="nombre" size="50" />
  </p>
  <p align="left"><br />  
    Canciones</p>
  <p align="left">
    <textarea name="descripcion" id="textarea" cols="45" rows="5"></textarea>
  </p>
  <p align="left"><br />  
    Imagen</p>
  <p align="left">
    <input type="file" name="archivo" id="archivo" />
  </p>
  <p align="left"><br />  
    Link de descarga</p>
  <p align="left">
    <input type="text" name="descarga" id="textfield" />
  </p>
  <p align="left"><br />  
    Fecha</p>
  <p align="left">
    <input type="text" name="fecha" id="fecha" />
  </p>
  <p align="left"><br />  
      <input type="submit" name="Submit" value="Enviar disco" />
      <br />  
      <input type="hidden" name="action" value="add" />
      <br />  
            </p>
</form>  

<?php  


if ($state) {  
echo 
"<p /><em>Disco agregado</em></p>";  



?></div>
      </div>
      <!-- end post -->
      <!-- begin post -->
      <!-- end post -->
      <!-- begin post -->
      <!-- end post -->
    </div>
    <!-- END content -->
    <!-- BEGIN sidebar -->
    <div id="sidebar">
      <!-- begin about  -->
      <div class="about"> <img src="images/about.jpg" alt="" />
        <p><strong>Leer</strong></p>
        <p>Web creada totalmente para el entretenimiento personal, y no para fomentar la pirateria, cualquier uso indeb... <a href="condiciones.php">Seguir leyendo</a></p>
      </div>
      <!-- end about  -->
      <!-- begin categories -->
      <h2>CategoriAS</h2>
      <ul>
        <li><a href="maquetas.php">Maquetas y Lp</a></li>
        <li><a href="letras.php">Letras</a></li>
        <li><a href="bases.php">Bases</a></li>
        <li><a href="temas.php">Temas</a></li>
        <li><a href="videos.php">Videos</a></li>
      </ul>
      <!-- end categories -->
      <!-- begin archives -->
      <h2>Informacion de usuario</h2>
      <ul>
        <li><?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db

if(!isset($_SESSION[usuario]) ) //comprobamos que no existe la session, es decir, que no se ha logeado, y mostramos el form
{

//Creamos el form k irá a autentificar.php para comprobar los datos con la tabla users
echo '<form action="autentificar.php" method="POST">
Nick: <br><input type="text" name="nick" size="25"><br>
Password: <br><input type="password" name="pass" size="25" ><br>
<input type="submit" name="submit" value="Enviar"></form>'
;

}else{

//SI se ha logeado, mostramos el nick y la opción de deslogearse
//Este sería el menú que saldría a la gente que esta logeada, se puede modificar y añadir cosas
echo 'Bienvenido '.$_SESSION[usuario]; //ej Bienvenido Juan
echo '<br>Tu level es '.$_SESSION[level]; //mostramos el level del user
if($_SESSION[level] == 1)
{
//mostramos el link para ir a la pagina privada porque el user tiene level 1 (*Nota: el level por defecto es 2, por lo tanto no se le mostrará)
//*Nota2: para cambiar el level a 1, se tiene k hacer manualmente por phpmyadmin
echo '<br><a href=opciones.php>Opciones de usuario</a>';
}

echo 
'<br><a href=logout.php>Salir</a>'//link para deslogearse, iría a logout.php

}

?></li>
      </ul>
      <!-- end archives -->
      <!-- begin blogroll -->
      <h2>Visitas</h2>
      <ul><li><script type="text/javascript" src="http://www.99counters.com/javascript.php?vars=YToyOntzOjI6ImlkIjtzOjY6IjI1NDAyNyI7czoyOiJsbiI7czoyOiJlcyI7fQ%3D%3D&width=175&height=200"></script><noscript>casino Contador encuestas
      </noscript>
      </li>
      </ul>
      <!-- end blogroll -->
      <!-- begin meta -->
      <h2>Afiliados</h2>
      <ul>
        <li>No hay nadie</li>
      </ul>
      <!-- end meta -->
    </div>
    <!-- END sidebar -->
    <div class="break"></div>
  </div>
  <!-- END body -->
  <!-- BEGIN footer -->
  <div id="footer">
    <p>Copyright &copy; 2010 - <a href="index.php">Estacion Rap</a> &middot; Todos los derechos reservados| Creada por arcana |<a href="condiciones.php">Terminos y condiciones.</a></p>
  </div>
  <!-- END footer -->
</div>
<!-- END  -->
</body>
</html>
No quiero que quiten nada solo añadir el Upload pero no tengo idea, he hecho uploads pero no sube archivos de mas de 3 mb.
  #2 (permalink)  
Antiguo 27/09/2010, 22:14
Avatar de CazaresLuis  
Fecha de Ingreso: septiembre-2010
Ubicación: Distrito Federal
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: Upload en Formulario

Checate este post tal vez te pueda ayudar

http://www.forosdelweb.com/f18/no-suben-las-imagenes-con-php-ayuda-845133/#post3572693

Saludos
  #3 (permalink)  
Antiguo 28/09/2010, 07:37
 
Fecha de Ingreso: julio-2008
Mensajes: 208
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: Upload en Formulario

Cita:
Iniciado por CazaresLuis Ver Mensaje
Checate este post tal vez te pueda ayudar

http://www.forosdelweb.com/f18/no-su...3/#post3572693

Saludos
Ta bien puede ser eso que marca Luis...o la configuracion de tu archivo de php.ini que no te permita subir archivos de mas de 3 MB.
Deberias cambiar el valor a 150 MB si es lo que quieres.

Aunque es raro que no te deje mas de 3MB porque por lo general en el archivo php.ini viene por defecto:

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 128M

es decir 128 MB.

Tu codigo esta en un hosting?.
Saludos.
  #4 (permalink)  
Antiguo 29/09/2010, 10:58
 
Fecha de Ingreso: mayo-2010
Mensajes: 185
Antigüedad: 14 años
Puntos: 2
Respuesta: Upload en Formulario

Tengo este Upload, pero le puse la funcion ini_set, y no funciona, tambien he creado un php.ini por que mi hosting no lo traia y no funciona, o alguiensabe donde esta el php.ini en byethost? aqui les dejo los archivos:

Upload.php
Código PHP:
<?php 

ini_set
('post_max_size''100M');
ini_set('upload_max_filesize''100M');
ini_set('max_execution_time''1000');
ini_set('max_input_time''1000');

//script de upload

$status "";
if (
$_POST["action"] == "upload") {
    
// obtenemos los datos del archivo 
    
$tamano $_FILES["archivo"]['size'];
    
$tipo $_FILES["archivo"]['type'];
    
$archivo $_FILES["archivo"]['name'];
    
$prefijo substr(md5(uniqid(rand())),0,6);
    
    if (
$archivo != "") {
        
// guardamos el archivo a la carpeta files
        
$destino =  "files/".$prefijo."_".$archivo;
        if (
copy($_FILES['archivo']['tmp_name'],$destino)) {
            
$status "Archivo subido: <b>".$archivo."</b>";
        } else {
            
$status "Error al subir el archivo";
        }
    } else {
        
$status "Error al subir archivo";
    }
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>PHP upload - unijimpe</title>
<link href="estilo.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table width="413" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="413" height="40" class="titulo">PHP upload - unijimpe </td>
  </tr>
  <tr>
    <td class="text">Por favor seleccione el archivo a subir:</td>
  </tr>
  <tr>
  <form action="upload.php" method="post" enctype="multipart/form-data">
    <td class="text">
 
      <input name="archivo" type="file" class="casilla" id="archivo" size="35" />
      <input name="enviar" type="submit" class="boton" id="enviar" value="Upload File" />
      <input name="action" type="hidden" value="upload" />      </td>
    </form>
  </tr>
  <tr>
    <td class="text" style="color:#990000"><?php echo $status?></td>
  </tr>
  <tr>
    <td height="30" class="subtitulo">Listado de Archivos Subidos </td>
  </tr>
  <tr>
    <td class="infsub">
    <?php 
    
if ($gestor opendir('files')) {
        echo 
"<ul>";
        while (
false !== ($arch readdir($gestor))) {
           if (
$arch != "." && $arch != "..") {
               echo 
"<li><a href=\"files/".$arch."\" class=\"linkli\">".$arch."</a></li>\n";
           }
        }
        
closedir($gestor);
        echo 
"</ul>";
    }
    
?>    </td>
  </tr>
</table>
</body>
</html>

php.ini
Código PHP:
upload_max_filesize 100M
post_max_size 
100M
max_execution_time 1000
max_input_time 1000 

Etiquetas: upload
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 10:02.