Foros del Web » Programando para Internet » Jquery »

Limitar tamaño de subida de archivos

Estas en el tema de Limitar tamaño de subida de archivos en el foro de Jquery en Foros del Web. Que tal a todos :D Hace tiempo publique un tema de subida de archivos en PHP, hasta que despues de mucho tiempo me dijeron que ...
  #1 (permalink)  
Antiguo 30/07/2013, 13:07
Avatar de RandomName  
Fecha de Ingreso: julio-2013
Mensajes: 32
Antigüedad: 10 años, 9 meses
Puntos: 1
Pregunta Limitar tamaño de subida de archivos

Que tal a todos :D
Hace tiempo publique un tema de subida de archivos en PHP, hasta que despues de mucho tiempo me dijeron que lo que yo queria hacer era imposible en PHP y me recomendaron usar jquery, bueno, ya busque ejemplos de como hacerle y me encontre con esto: [URL="http://www.miguelmanchego.com/2009/subir-archivos-usando-ajax-jquery/"] http://www.miguelmanchego.com/2009/subir-archivos-usando-ajax-jquery/ [/URL] lo modifique para mi y quedó esto:

Código:
function ftp(){
		self.name = 'opener';
	var button = $('#formbtn'), interval;
	new AjaxUpload('#formbtn', {
        action: 'subirarchivo.php',
		onSubmit : function(file , ext){
		if ((ext && /^(rar)$/.test(ext))  ){
			// extensiones no permitidas	
			alert('Error: No se permiten archivos rar');
			// cancela upload
			return false;
		} else {
			button.value('Subiendo...');
			this.disable();
		}
		},
		onComplete: function(file, response){
			button.value('Subir Archivo');
			// enable upload button
			this.enable();
			// Agrega archivo a la lista
			//$('#lista').appendTo('.files').text(file);
			alert('Archivo subido correctamente');
		}
	});
};
Ese es el script, en el index que hice tengo esto :
Código PHP:
<input name="strNombre" type="text" class="imagen" value="" size="32" readonly>
                              <
input id="formbtn" type="button" value="Subir Archivo" onClick="javascript:ftp();"
Esto va dentro de un form llamado subir , lo que quiero hacer es que el campo strNombre se llene con el nombre del archivo que subi, para eso en el upload.php puse esto:

Código PHP:
<?php
$uploaddir 
'directorio/';

$uploadfile $uploaddir basename($_FILES['userfile']['name']);
$nombrearchivo=$_FILES['userfile']['name'];

if (
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    
?>
     <script>
        opener.document.subir.strNombre.value='<?php echo $nombrearchivo?>';
     </script>
    <?php
  
echo "success";
} else {
  echo 
"error";
}
?>
Esto me sale mal, que no manda el nombre del archivo al index, si sube el archivo y si lo crea, lo unico que falta es mandar el nombre del archivo a ese campo en el index... Tambien tengo ese error :P si me pueden ayudar lo agradeceria.

Lo que busco principalmente es limitar el tamaño de subida de archivos, algo similar a lo que hice con las extensiones :)

De antemano agradezco su ayuda :)
__________________
DON'T YOU EVER GIVE UP! ;)

There's a reason for everything.
  #2 (permalink)  
Antiguo 31/07/2013, 09:37
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 23
Respuesta: Limitar tamaño de subida de archivos

Podrias poner algo similar a esto en cuanto a limitar el tamaño de tus archivos

Código PHP:
Ver original
  1. $maxImageSize = 2000000; // in bytes
  2.  
  3.  
  4. if( isset($_FILES[$fileFieldName]["size"]) && $_FILES[$fileFieldName]["size"] > $maxImageSize) {
  5.  
  6.   echo "El archivo subido es m&aacute;s grande de lo permitido.";
  7.   echo "<br />";
  8.   echo "Tama&ntilde;o del archivo subido: " . round($_FILES[$fileFieldName]["size"] / 1000) . " KB";
  9.   echo "<br />";
  10.   echo "Tama&ntilde;o m&aacute;ximo permitido: " . round($maxImageSize / 1000) . " KB";
  11. }

Y el nombre del archivo probaste con esto?

Código PHP:
Ver original
  1. $nombrearchivo = basename($_FILES['userfile']['name']);

Tambien puedes hacer un dump al archivo para ver que trae

Código PHP:
Ver original
  1. var_dump($_FILES['userfile']);
  2. exit();

O mas ordenado

Código PHP:
Ver original
  1. echo "<pre>";
  2.     print_r($palabra);
  3.     echo "</pre>";
  4.     exit();

Saludos
__________________
Si encuentras que tu pregunta fue respondida, se agradeceria enormemente que la marcaras como solucionada... si... es el boton verde gigante que esta al final de la pagina :)

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 15:11.