alvaroxz Posted November 14, 2008 Report Share Posted November 14, 2008 (edited) crea una carpeta que se llame: files en el directorio donde dejes este script <? $pagina = "http://tu_pagina.cl"; //no tiene que terminar con / $max_sizes = 100; //peso maximo del archivo en mb $extenciones = array("txt", "jpg"); //extenciones que no se subiran DEBEN ser tel tipo MIME ejemplo exe no es exe es otro. (busquen en google por mime type) // if(isset($_POST['a'])) { $name = $_FILES['archivo']['name']; $nombre = str_replace(" ", "_", $name); $type1 = $_FILES['archivo']['type']; $type2 = strstr($type1, "/"); $type = str_replace("/", "", $type2); $size = $_FILES['archivo']['size']; $temporal = $_FILES['archivo']['tmp_name']; $max_sizes = $max_sizes*1024000; if($name = "") { echo "No agregaste archivo"; } else { if($size > $max_size) { echo "El archivo es mayor que $max_sizes MB"; } else { for($i=0; $i<0; $i++) { if($extenciones[$i] == $type) { $bin = 0; } else { $bin = 1; break; } } if($bin != 1) { echo = "El archivo tiene una extension que el servidor no acepta"; } else { $amd5 = "md5.txt"; $abrir = fopen($amd5, "a+"); $leer = fread($abrir, filesize($amd5)); $cont = $leer+1; $borrar = fopen($amd5, "w+"); fwrite($borrar, $cont); fclose($abrir); fclose($borrar); $md5 = md5($leer); mkdir("files/$md5"); $sitio = "files/$md5/$nombre"; if(move_uploaded_file($temp, $sitio)) { $enlace = "$pagina$sitio"; echo "El archivo fue subido con exito!<br>Enlace de descarga: $enlace"; } else { echo "Ocurrio un problema al subir el archivo"; } } } } } else { echo '<form enctype="multipart/form-data" method="POST" action="'.$_SERVER['SELF_PHP'].'"><input type="file" name="archivo" size="40"/><input type="submit" name="a"></form>'; } ?> Para poner descargar agrendes hagan esto: abran un block de notas y pongan este script: php_value upload_max_filesize "1000M" php_value max_execution_time "7200" php_value post_max_size "1000M" guardar y cerrar como .htaccess se puede editar asi: php_value upload_max_filesize "1000M" php_value post_max_size "1000M" esos son para el maximo de megabytes del archivo a subir ejemplo 34M, eso serian 34 megas php_value max_execution_time "7200" la cantidad de tiempo maximo en segundo de ejecucion del script (para archivos muy pesados) en este caso 7200 son 3 horas por que? porque 60 seg = 1 min y 60 min = 1 hora entoces 60*60 = 3600 ahora 7200/3600 = 3 PD:Este script lo hize a la rapida, si les tira un error avizenme Edited November 14, 2008 by alvaroxz Link to comment Share on other sites More sharing options...
teba Posted November 18, 2008 Report Share Posted November 18, 2008 :$ nose si estoy mal pero no hay que crear una carpeta llamada "files",.. oye ese "md5.txt" se crea solo?.. ta bueno que muestres tus scripts creados,.. sigue asi :D Link to comment Share on other sites More sharing options...
alvaroxz Posted November 18, 2008 Author Report Share Posted November 18, 2008 (edited) :$ nose si estoy mal pero no hay que crear una carpeta llamada "files",.. oye ese "md5.txt" se crea solo?.. ta bueno que muestres tus scripts creados,.. sigue asi :D sip ya que $amd5 = "md5.txt"; $abrir = fopen($amd5, "a+"); y la propiedad de fopen, con atributo "a+" dice: Apertura para lectura y escritura; ubica el apuntador de archivo al final del mismo. Si el archivo no existe, intenta crearlo. sip hay que crear la carpeta files esta al principio del post.... Edited November 18, 2008 by alvaroxz Link to comment Share on other sites More sharing options...
electronik_0 Posted November 26, 2008 Report Share Posted November 26, 2008 buen script, siempre pero bueno :) se podria mejorar por ejemplo :P por que el filtro de cabeceras mime se puede burlar facilmente :babana: Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now