Foros del Web » Programando para Internet » PHP »

duda en script upload

Estas en el tema de duda en script upload en el foro de PHP en Foros del Web. Rresulta que tengo un script que sube un archivo a una carpeta especificada, pero el control del nombre de archivo lo realiza una vez enviado ...
  #1 (permalink)  
Antiguo 02/10/2004, 09:46
 
Fecha de Ingreso: abril-2004
Mensajes: 310
Antigüedad: 20 años
Puntos: 0
duda en script upload

Rresulta que tengo un script que sube un archivo a una carpeta especificada, pero el control del nombre de archivo lo realiza una vez enviado el archivo, después de haberse tirado 2 minutos subiendo, te dice que el nombre no es válido.

El formulario de entrada es algo así como:

<form method="POST" action="uploader.php?action=upload" enctype="multipart/form-data">
<input type=\"file\" size=\"30\" name=\"userfile[]\"></p>\n";
...
...


y la parte del script que lo recibe es:

Código:
if (($_GET['action'] == "upload")&&($nopuedes==0)){

...
...
$field_userfile = trim($_FILES['userfile']);
$field_copy = $_POST['field_copy'];

  /*Valid e-mail check.*/

  if (!eregi("^([a-z]|[0-9]|\.|-|_)+@([a-z]|[0-9]|\.|-|_)+\.([a-z]|[0-9]){2,4}$", $field_email))

  {

    jsMessage("$email_error");
    ....
    ....
  }

  /*Valid file format check.*/

  for($i=0; $i<count($_FILES[userfile][tmp_name]); $i++){
      //comprobación del nombre de archivo
Pues bien, el script está pensado para varios campos de nombre de archivos en el formulario, para enviar varios archivos a la vez, pero yo sólo estoy usando uno, así que creo que se debería de cambiar algo de código pero no sé exactamente qué.

Y lo principal, quiero que se compruebe el nombre del archivo antes de que el navegador empieze a subir el archivo, porque como está ahora mismo, esa comprobación del nombre de archivo te la muestra después de haberlo "mandado".

Bueno a ver si me podéis ayudar. Un saludo.
  #2 (permalink)  
Antiguo 02/10/2004, 17:59
Avatar de Kernellover  
Fecha de Ingreso: noviembre-2002
Ubicación: Perdido
Mensajes: 251
Antigüedad: 21 años, 5 meses
Puntos: 0
Creo que has puesto solo una parte del codigo que no da muchas pistas pero si no te he entendido mal, lo que quieres es validar el nombre del archivo... mmm.

¿Porque no haces la comprobación del nombre del archivo lo primero de todo? No entiendo el código que has enviado pq falta el trozo interesante, pero yo movería la sentencia condicional if antes de realizar la transferencia del archivo.

Imagino que la comprobación será por motivos de seguridad del palo de que solo permita subir cierto tipo de archivos.

¿Porque no haces un pequeño JavaScript que haga la validación y envie los datos en caso correcto? Además si alguien consigue saltarse esta restricción tendrá el problema de que le bloqueará el php.

No se si te servirá de algo todo esto pero son ideas, el resto ya sabes...

Suerte!

Para poderte ayudar mejor necesitamos ver la parte de la comprobación del nombre del archivo.
  #3 (permalink)  
Antiguo 03/10/2004, 05:44
 
Fecha de Ingreso: abril-2004
Mensajes: 310
Antigüedad: 20 años
Puntos: 0
sí, puede que lo mejor sea un javascript en el formulario html que controle lo introducido, no que lo controle el php, de todas formas, el código de comprobación en php no es muy interesante, son unos ifs y elses y ya está, a lo que me refería es que esa comprobación la hace una vez "subido" el archivo, o sea se tira 2 minutos enviando información al alrchivo temporal y cuando lo ha hecho, te dice que hay error en la comprobación y el archivo no se envía definitivamante. Quería saber cómo hacer que la comprobación se realice antes de cualquier envío temporal y que el mensaje de error te lo dé antes de hacer cuaquier tipo de envío (en php)
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 14:35.