Foros del Web » Programando para Internet » PHP »

Subir Acrhivos con PHP

Estas en el tema de Subir Acrhivos con PHP en el foro de PHP en Foros del Web. tengo el siguiente problema: Estoy implementando el script de desarrolloweb.com para subir archivos, pero resulta que no me acepta txt ni doc. que estará mal?? ...
  #1 (permalink)  
Antiguo 22/03/2004, 10:10
 
Fecha de Ingreso: diciembre-2003
Mensajes: 276
Antigüedad: 14 años
Puntos: 0
Subir Acrhivos con PHP

tengo el siguiente problema:

Estoy implementando el script de desarrolloweb.com para subir archivos, pero resulta que no me acepta txt ni doc. que estará mal??

Aqui va el codigo


Código PHP:
<? 
//tomo el valor de un elemento de tipo texto del formulario 
$texto_otro $_POST["texto_otro"]; 
echo 
"Escribió en el campo de texto: " $id_orden "<br><br>"

//datos del arhivo 
$nombre_archivo $HTTP_POST_FILES['userfile']['name']; 
$tipo_archivo $HTTP_POST_FILES['userfile']['type']; 
$tamano_archivo $HTTP_POST_FILES['userfile']['size']; 
//compruebo si las características del archivo son las que deseo 
if (!((strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg")) && ($tamano_archivo 100000))) { 
echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>"
}else{ 
if (
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){ 
echo 
"El archivo ha sido cargado correctamente."
}else{ 
echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse."


?>
Trate cambiando cuando realiza el If ....gif a doc y txt pero no resulta necesito subir txt y doc, como lo puedo hacer????


De pasadita si alguien sabe como mover el archivo a otra carpeta que no sea en donde se encuentra el Script seri muy bueno.+


Gracias desde ya
  #2 (permalink)  
Antiguo 22/03/2004, 12:30
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Es que en ese if se mira el $HTTP_POST_FILES['userfile']['type'], que es el tipo MIME del fichero, no la extension. Ahora mismo no se los MIME de los txt y doc, pero supongo que seran text/plain y application/ms-word, o algo parecido.

Sobre lo de guardarlo en otra carpeta, si miras el manual de move_uploaded_file() (www.php.net/move_uploaded_file), veras que en el segundo parametro ademas del nombre puedes especificar la ruta donde quieres guardarlo.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 22/03/2004, 15:52
 
Fecha de Ingreso: diciembre-2003
Mensajes: 276
Antigüedad: 14 años
Puntos: 0
Como los puedo solucionar????

Alguien me puede ayudar, como cambio a los de doc y txt???

Gracias desde ya

Atte Shure
__________________
--------------------
Solo se que nada se...
  #4 (permalink)  
Antiguo 24/03/2004, 09:32
 
Fecha de Ingreso: diciembre-2003
Mensajes: 276
Antigüedad: 14 años
Puntos: 0
Alguien sabe como cambiar los tipo MIME del fichero???

Favor ayuditis
__________________
--------------------
Solo se que nada se...
  #5 (permalink)  
Antiguo 24/03/2004, 09:36
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
¿Por que no haces que el mismo PHP te los diga? Antes del if haz un:
Código PHP:
echo $tipo_archivo
Y sube un doc y un txt. Asi veras el MIME de esos dos tipos de ficheros.

Saludos.

PD: ¿El MIME lo mandaba el navegador? Porque si es asi lo veo como un posible agujero de seguridad.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 24/03/2004, 10:41
 
Fecha de Ingreso: diciembre-2003
Mensajes: 276
Antigüedad: 14 años
Puntos: 0
ok Probare y te aviso,

Muchas Gracias
__________________
--------------------
Solo se que nada se...
  #7 (permalink)  
Antiguo 24/03/2004, 10:43
 
Fecha de Ingreso: diciembre-2003
Mensajes: 276
Antigüedad: 14 años
Puntos: 0
a lo que voy yo es como puedo cambiar para que me acepte application/ms-word ???
__________________
--------------------
Solo se que nada se...
  #8 (permalink)  
Antiguo 24/03/2004, 13:13
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Bueno, si miras en el manual strpos() (www.php.net/strpos) veras que sirve para comprobar si una cadena existe dentro de otra cadena. Asi que donde el original ponia jpeg, es porque queria que en el MIME estaria la cadena jpeg. Asi que si tu pones word donde el pone jpeg, te aceptara fichero con MIME que contenga la cadena word.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 24/03/2004, 13:28
 
Fecha de Ingreso: diciembre-2003
Mensajes: 276
Antigüedad: 14 años
Puntos: 0
Probe poniendo Doc en vez de GIF y txt en vez de JPEG pero igual no me permite subir el archivo.

Tendre que poner Word o es Doc?????

Gracias por tu respuesta
__________________
--------------------
Solo se que nada se...
  #10 (permalink)  
Antiguo 24/03/2004, 13:43
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Si el MIME es 'application/ms-word', esa cadena no contine la cadena 'doc'. Si contiene la cadena 'word', asi que si pones 'word' deberia aceptarte los socumentos de word.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 00:46.