Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/04/2009, 18:20
elrox
 
Fecha de Ingreso: abril-2009
Mensajes: 6
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta Cambiar url de descarga

Estoy creando un website para subir webscripts de todo tipo. El problema es que actualemente conozco poco de php tirando a casi nada, y el código que utilizo para este website no lo hice yo y por lo tanto desconozco como puedo hacer lo que quiero hacer ahora y desconozco si se podrá hacer o no.

Para empezar la web en si es esta, up.forowarez.es (no os guieis por "forowarez" ya que no tiene nada que ver y es un foro a parte).

Los que entreis podréis ver un uploader el cual sube archivos rar y zip al servidor. El enlace de descarga que dá es algo como "hxxp://website.com/d/script-subido.zip".

En el código php, puedo cambiar la carpeta de destino donde se guardan los archivos, por que antes estaba "upload" y lo cambié a la carpeta "d" para que fuera mas corto el enlace.

Lo que me gustaria saber es que si el enlace de descarga que da, lo podría transformar en algo como "hxxp://website.com/78951235/", en si generar un número en vez de dejar visible el nombre del directorio donde está subido y el nombre del archivo en si o por otro lado generar una url tipo "hxxp://website.com/62341/nombre_del_script_subido.zip".

Para esto no sé si hará falta tocar el código php o si se puede hacer con un .htaccess con mod rewrite o algo parecido. Si me podéis hechar una mano, os los agradecería bastante ya que desconozco bastante si se puede o no hacer y si necesitais el código php en si os dejo aqui el script del que he cojido el código.


El código en si es este:
Código PHP:
<?php 
$uploaddir 
'./d/'
$allowed   = array('zip','rar'); 

# No edits beyond this line 
if (isset($_FILES['userfile'])) { 
  foreach (
$_FILES['userfile']['error'] as $i => $error) { 
    if (
$error == && $_FILES['userfile']['size'][$i] <= $max_size) { 
      
$file_ext  pathinfo($_FILES['userfile']['name'][$i],PATHINFO_EXTENSION); 
      
$file_name basename($_FILES['userfile']['name'][$i],'.'.$file_ext); 
      if (
in_array(strtolower($file_ext),$allowed)) { 
        
$new_base $_FILES['userfile']['name'][$i]; 
        
$t 1
        while (
file_exists($uploaddir.$new_base)) { 
          
$new_base $file_name.'['.$t.'].'.$file_ext
          
$t++; 
        } 
        if (
move_uploaded_file($_FILES['userfile']['tmp_name'][$i],$uploaddir.$new_base)) { 
          
chmod($uploaddir.$new_base0644); 
          echo 
'hxxp://up.forowarez.es/d/'.$_FILES['userfile']['name'][$i].' '."\n"
        } 
      } 
    } 
  } 

?>
No utiliza base de datos ni nada parecido...

Descarga del webscript: hxxp://up.forowarez.es/d/magic-uploader-mini.rar

Por otra parte, me gustaría saber si se puede generar mediante un codigo php una lista de todos los scripts subidos.

Gracias y saludos!