Mi problema es el siguiente. Tengo un upload de archivos personal, que uso para las imágenes de mi web. Actualmente al subir una imagen normal, el nombre queda asi:
http://miweb.es/images/1/imagen%norm...g-dgf54jkh.png
los % es porque el nombre de la imagen tiene un espacio, y después, hay un . antes de la extension.
Yo quiero que quede así.
http://miweb.es/images/1/imagennorma...g-dgf54jkh.png
Es decir, que los espacios desaparezcan y el . de la extensión png, que es parte del nombre del archivo, se cambie por un guion.
El código que uso lo saqué de un post de por quí, es este:
Código:
<? if($_POST){ // Creamos la cadena aletoria $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; $cad = ""; for($i=0;$i<12;$i++) { $cad .= substr($str,rand(0,62),1); } // Fin de la creacion de la cadena aletoria $tamano = $_FILES [ 'file' ][ 'size' ]; // Leemos el tamaño del fichero $tamaño_max="50000000000"; // Tamaño maximo permitido if( $tamano < $tamaño_max){ // Comprovamos el tamaño $destino = 'images/1' ; // Carpeta donde se guardata $sep=explode('image/',$_FILES["file"]["type"]); // Separamos image/ $tipo=$sep[1]; // Optenemos el tipo de imagen que es if($tipo == "gif" || $tipo == "pjpeg" || $tipo == "bmp" || $tipo == "jpg" || $tipo == "x-png" || $tipo == "jpeg" || $tipo == "png" || $tipo == "psd"){ // Si el tipo de imagen a subir es el mismo de los permitidos, segimos. Puedes agregar mas tipos de imagen move_uploaded_file ( $_FILES [ 'file' ][ 'tmp_name' ], $destino . '/' .$_FILES [ 'file' ][ 'name' ].'-'.$cad.'.'.$tipo); // Subimos el archivo include('subido.php'); // Incluimos la plantilla } else echo "el tipo de archivo no es de los permitidos";// Si no es el tipo permitido lo desimos } else echo "El archivo supera el peso permitido.";// Si supera el tamaño de permitido lo desimos } ?>