Foros del Web » Programando para Internet » PHP »

Ayuda Upload

Estas en el tema de Ayuda Upload en el foro de PHP en Foros del Web. Hola amigos, soy nuevo en este foro y además nuevo haciendo cosas en php, por eso necesito ayuda de los foreros. Estoy tratando de hacer ...
  #1 (permalink)  
Antiguo 20/12/2010, 17:00
 
Fecha de Ingreso: diciembre-2010
Ubicación: Matanzas, Cuba
Mensajes: 4
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta Ayuda Upload

Hola amigos, soy nuevo en este foro y además nuevo haciendo cosas en php, por eso necesito ayuda de los foreros.

Estoy tratando de hacer un ftp privado para mi trabajo, con el cual usuarios externos puedan subir y descargar archivos hasta y desde el mismo, ya por el momento lo tengo casi completo solo me falta una cuestión que no encuentro como hacerla o mejor dicho dos, como limitar el tipo de archivos que yo deseo que se puedan subir y el tamaño de los archivos, es decir, en el tipo de archivo serian (.jpg, .jpeg, .gif, .png, .swf, .doc, .rtf, , .txt, .zip, .rar, .7z) y el tamaño a permitir hasta 100 MB de tamaño maximo permitido.

a continueción le pondre el fichero subir.php que yo tengo hecho para ver si alguien me puede ayudar con lo que deseo, gracias de antemano a todos los que me puedan tirar una mano en esto.

<?php

if ($_POST["action"] == "upload") {
// obtenemos los datos del archivo
$tamano = $_FILES["archivo"]['size'];
$tipo = $_FILES["archivo"]['type'];
$archivo = $_FILES["archivo"]['name'];


if ($archivo != "") {
// guardamos el archivo a la carpeta /home/ftp
$destino = "/home/ftp/".$archivo;
if (copy($_FILES['archivo']['tmp_name'],$destino))
{
echo '<center><br><br><br><br><br><br><br><br><br><br>' ;
echo '<font color="#1706FC" size="+5"><strong><i>Archivo subido con exito</strong></i></font>';
}
else
{
echo '<center><br><br><br><br><br><br><br><br><br><br>' ;
echo '<font color="#FC0617" size="+5"><strong><i>Error el archivo sobrepasa el tamaño permitido</strong></i></font>';
}
}
else{
echo '<center><br><br><br><br><br><br><br><br><br><br>' ;
echo '<font color="#FC0617" size="+5"><strong><i>Error debe seleccionar un archivo</strong></i></font>';
}
}

?>
Este php, si lo prueban veran que funciona bien, sin las condiciones que yo les estoy pidiendo me ayuden, pero cuando el tamaño sobrepasa los 15 MB que es lo que permite ahora subir, no me envia el mensaje de error.

Lo otro que necesito es que cuando el archivo a subir sobre pase el tamaño permitido le envie un mensaje al usuario para que sepa que no se pudo subir el archivo por ese motivo.
  #2 (permalink)  
Antiguo 20/12/2010, 17:27
 
Fecha de Ingreso: mayo-2009
Mensajes: 61
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda Upload

K tal para conocer el tamaño de un archivo utiliza esta funcion

$nombre_archivo = 'un_archivo.txt';
echo $nombre_archivo . ': ' . filesize($nombre_archivo) . ' bytes';

para conprobar la extencion puedes utilizar esta

$testcase = array("sample.txt", "sample.jpg", "sample.case.txt");

function extension($filename){
return substr(strrchr($filename, '.'), 1);
}

foreach($testcase as $test) {
echo "Extension from $test is " . extension($test) . "\n";
}


teniendo estas funciones solo tienes que adaptarlas como tu quieras
  #3 (permalink)  
Antiguo 20/12/2010, 18:26
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 19 años
Puntos: 2
Respuesta: Ayuda Upload

Código PHP:
Ver original
  1. $fhandle = finfo_open(FILEINFO_MIME);
  2. $mime_type = finfo_file($fhandle,$file);
__________________
Saludos!
Mty-NL..
  #4 (permalink)  
Antiguo 20/12/2010, 18:33
 
Fecha de Ingreso: diciembre-2010
Ubicación: Matanzas, Cuba
Mensajes: 4
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Ayuda Upload

Cita:
Iniciado por elmaspicudo Ver Mensaje
K tal para conocer el tamaño de un archivo utiliza esta funcion

$nombre_archivo = 'un_archivo.txt';
echo $nombre_archivo . ': ' . filesize($nombre_archivo) . ' bytes';

para conprobar la extencion puedes utilizar esta

$testcase = array("sample.txt", "sample.jpg", "sample.case.txt");

function extension($filename){
return substr(strrchr($filename, '.'), 1);
}

foreach($testcase as $test) {
echo "Extension from $test is " . extension($test) . "\n";
}


teniendo estas funciones solo tienes que adaptarlas como tu quieras
Pero como quedaría eso dentro del fichero php que yo envie, recuerda que soy nuevo en esto del php y no se casi nada de el
  #5 (permalink)  
Antiguo 20/12/2010, 18:50
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 19 años
Puntos: 2
Respuesta: Ayuda Upload

Cita:
Pero como quedaría eso dentro del fichero php que yo envie, recuerda que soy nuevo en esto del php y no se casi nada de el
Pues creo que es un buen momento para dejar de ser nuevo y sentir la emocion de jugar con el codigo y experimentar por tu cuenta
__________________
Saludos!
Mty-NL..
  #6 (permalink)  
Antiguo 20/12/2010, 18:56
 
Fecha de Ingreso: diciembre-2010
Ubicación: Matanzas, Cuba
Mensajes: 4
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Ayuda Upload

Cita:
Iniciado por HerSAn Ver Mensaje
Pues creo que es un buen momento para dejar de ser nuevo y sentir la emocion de jugar con el codigo y experimentar por tu cuenta
Disculpa que te responda de esta forma, pero eso estoy haciendo hace casi un mes, y si pido ayuda es porque no he logrado hacerlo, de otra forma no lo haria, todo lo otro con lo que cuenta el ftp que estoy haciendo lo he hecho yo solo, mirando en google ejemplos y adaptandolos a mi y en otros casos haciendo el codigo yo segun lo que necesito, pero esto ya he probado mil formas de hacerlo, he visto mil ejemplos de como ponerlo, pero ninguno de los que he visto me ha pinchado y otros no hacen lo que quiero, nuevamente disculpa mi respuesta, ok
  #7 (permalink)  
Antiguo 20/12/2010, 19:23
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 19 años
Puntos: 2
Respuesta: Ayuda Upload

No te preocupes no me molesta que te expreses, mira si llevas un mes con eso entonces entiendo que por lo menos sabes como funciona el luenguaje y como usar funciones te dejo un liga leelo con cuidado y pues a eveces la informacion no esta con la respuesta que esperas.

http://designshack.co.uk/articles/ph...tion-using-php
__________________
Saludos!
Mty-NL..
  #8 (permalink)  
Antiguo 20/12/2010, 19:33
 
Fecha de Ingreso: diciembre-2010
Ubicación: Matanzas, Cuba
Mensajes: 4
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Ayuda Upload

Eso que me mandaste habla solo de imagenes y yo no quiero solo permitir que se suban imagenes sino ((.jpg, .jpeg, .gif, .png, .swf, .doc, .rtf, , .txt, .zip, .rar, .7z) y además que me permita subir archivos con un tamaño de hasta 100 MB y que en caso que el archivo sea más grande que eso, que le envie al usuario un mensaje diciendole que el tamaño es mayor al permitido
  #9 (permalink)  
Antiguo 21/12/2010, 00:19
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 19 años
Puntos: 2
Respuesta: Ayuda Upload

pues estas equivocado no solo habla de eso, pero en fin igual andas con prisas y no estas leyendo detenidamente.

Ahora tu quieres restringir que los usuarios de tu aplicacion solo puedan subir cierto tipo de archivos, para eso requieres una forma de indentificarlos asi que la forma mas segura es revisando el encabezado de esos archivos, cada uno de llos tiene un cierto numero de bytes que los identifican como si fuera una firma, afortunadamente esa tarea la puedes hacer sin muchas complicaciones con la funcion fileinfo te dejo la referencia del manual que debes de volver tu mejor amigo.
http://www.php.net/manual/en/ref.fileinfo.php

La solucion exacta a tu problema es la que creas tu, lo demas son referencias para llegar a ella.
__________________
Saludos!
Mty-NL..

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 03:40.