training rosa
Grupo SEO TELEGRAM [Click Aquí]
Resultados 1 al 11 de 11
Tema:

Una consulta por UPLOAD de archivo de texto en PHP

  1. #1
    nicolas2 está desconectado Registrado
    Rango: Google es mi amigo

    User Info Menu

    Question Una consulta por UPLOAD de archivo de texto en PHP

    hola, necesito implementar un UPLOAD al servidor de un archivo de texto (datos.txt) mediante un formulario (html/php/mysql) para luego insertar el contenido en una BD.

    Deseaba preguntar si alguien tiene una rutina/script o código para validar que un archivo subido sea "si o si" un archivo de texto.

    Si yo por ejemplo le cambio la extensión a un JPG y le pongo TXT, el UPLOAD se realiza de todas maneras. De repente luego cuando le doy a la instrucción de leer el archivo línea por línea, se pueda generar un error si este es binario.. y controlarlo por este lado.

    Alguna idea?

  2. #2
    animal está desconectado Registrado
    Rango: Google es mi amigo

    User Info Menu

    Predeterminado

    Validá la extención y el "mime type"

    http://www.php.net/manual/es/functio...ntent-type.php

  3. #3
    nicolas2 está desconectado Registrado
    Rango: Google es mi amigo

    User Info Menu

    Predeterminado

    Me ocurre lo siguiente:

    Partiendo de la base de un archivo llamado "imagen.jpg"

    lo subo y me dice:
    ..[type] => image/jpeg

    le cambio el nombre a imagen.txt y lo subo y me dice:

    [type] => text/plain


    Le saco la extensión y me dice

    [type] => application/octet-stream

    Ósea esto es una lotería, no puedo validar si realmente lo que contiene el archivo es un TXT o un Binario u otra cosa.

    Lo que se me ocurre es realizar una operación de lectura del archivo subido y validar ahí.

  4. #4
    animal está desconectado Registrado
    Rango: Google es mi amigo

    User Info Menu

    Predeterminado

    Que versión de PHP esas usando?

  5. #5
    nicolas2 está desconectado Registrado
    Rango: Google es mi amigo

    User Info Menu

    Predeterminado

    Es un PHP "Version 5.2.1" que lo tengo en mi maquina con WIndows. para hacer pruebas caseras nomas.

  6. #6
    elmister está desconectado Registrado

    User Info Menu

    Predeterminado

    el problema de mime.magic es que relaciona las extensiones de los ficheros con los correspondientes tipos mime, pero no comprueba el contenido del fichero.

    A priori se me ocurre verificar la existencia de caracteres distintos de letras, numeros, signos de puntuacion, espacios, tabuladores... etc

    Con una expresion regular no deberia ser excesivamente complicado

  7. #7
    Leonardo Invitado

    Predeterminado

    Hola Nico, tendrías que comprobar la extensión y el mime a la vez, se me ocurre medio rapidongo:

    if($_FILES['file']['type']=="text/plain" AND eregi("\.txt",$_FILES['file']['name']))
    {
    echo "Subimos TXT";
    }
    else
    {
    echo "Solo archivos en formato TXT, mamón!";
    }

    Ahora que miro el código se me ocurre que no faltará algún vivo que suba un archivo tipo texto.txt.php con lo que te cagaría la fruta, así que podrías usar una comprobación extra con substr($_FILES['file']['name'],-4,4)

    Salú!

  8. #8
    animal está desconectado Registrado
    Rango: Google es mi amigo

    User Info Menu

    Predeterminado

    En realidad , dependiendo de como este tu código , tambien te pueden joder agregando código PHP a tu archivo .txt sin siquiera cambiar la extención a .php.

    Subir TXTs no me parerece una práctica saludable, pero en último caso si lo que te preocupa es que suban imágenes en lugar de arcvhivos de texto , podes llevarla por el lado de la negación "si no es imagen guardo el archivo", osea.. es mas fácil comprobar que no sea una imagen que que sea un txt.

    Porque no usar un campo de texto como todos los cristianos y generar un txt ?
    Si lo que necesitas es trabajar con txt's va a ser muuuuucho mas seguro.

  9. #9
    elmister está desconectado Registrado

    User Info Menu

    Predeterminado

    Cita Iniciado por Leonardo Ver Mensaje
    Hola Nico, tendrías que comprobar la extensión y el mime a la vez, se me ocurre medio rapidongo:

    if($_FILES['file']['type']=="text/plain" AND eregi("\.txt",$_FILES['file']['name']))
    {
    echo "Subimos TXT";
    }
    else
    {
    echo "Solo archivos en formato TXT, mamón!";
    }

    Ahora que miro el código se me ocurre que no faltará algún vivo que suba un archivo tipo texto.txt.php con lo que te cagaría la fruta, así que podrías usar una comprobación extra con substr($_FILES['file']['name'],-4,4)

    Salú!
    El problema es que el tipo mime se asigna mirando la extension y solo la extension, asi que un fichero jpg renombrado a txt le dara un tipo mime de texto

  10. #10
    nicolas2 está desconectado Registrado
    Rango: Google es mi amigo

    User Info Menu

    Predeterminado

    bueno en realidad lo que estoy creando es una sección de subtítulos de pelis y series. Estoy creando un UPLOAD de archivos de texto con el formato "nombre.srt"

    cosa q en el interior tiene algo así:


    --------------------
    1
    00:00:00,000 --> 00:00:01,000
    <i>24 - 7x09</i>

    2
    00:00:01,001 --> 00:00:02,501
    <i>Traducción 24 TEAM:</i>

    3
    etc
    --------------------
    Lo que me acabo de dar cuenta es que estos archivos todos comienzan con el "1\n".. de repente podría preguntar por este 1(salto de línea).

    Porque pedir que peguen el contenido del SRT dentro de un formulario, es un poco rebuscado para algunos usuarios no tan avanzados.

    Subo un archivo .srt y me da estos valores

    Array (
    [name] => Fringe.S01E14.ESP.srt
    [type] => application/octet-stream
    [tmp_name] => C:\NICOLAS\xampp\tmp\php550B.tmp
    [error] => 0
    [size] => 56874
    )

    Voy a probar abrirlo con un "fread" y que lea la primera línea a ver q invento.

    Gracias por las ideas!

  11. #11
    animal está desconectado Registrado
    Rango: Google es mi amigo

    User Info Menu

    Predeterminado

    Podes pedir que los suban zipeados, como en subdivx.com, te vas a ahorrar un lote de problemas.
    Ademas no todos los subs son SRT o tienen ese formato.
    Tendrías que hacer algo "Web 2.0" y que los usuarios califiquen o denuncien los subs truchos tambien.

Temas Similares

  1. Archivo robots.txt en SMF
    Por Celton en el foro Otros CMS
    Respuestas: 0
    Último Mensaje: 21/06/2013, 14:13
  2. Modificar archivo pdf
    Por dioguito en el foro General SoyWebmaster
    Respuestas: 3
    Último Mensaje: 03/07/2007, 17:14
  3. Modificar archivo pdf
    Por dioguito en el foro Webmasters Porno
    Respuestas: 1
    Último Mensaje: 02/07/2007, 22:42
  4. archivo htaccess
    Por jose20000 en el foro General SoyWebmaster
    Respuestas: 7
    Último Mensaje: 15/10/2006, 06:21
  5. formulario Adjuntar Archivo
    Por fuzionmax en el foro General SoyWebmaster
    Respuestas: 3
    Último Mensaje: 28/07/2005, 13:57

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Has visto el post " Una consulta por UPLOAD de archivo de texto en PHP" que está en esta URL y ha sido creado por el usuario nicolas2. Esperamos que te haya sido de utilidad el artículo " Una consulta por UPLOAD de archivo de texto en PHP" que inició el usuario nicolas2 de Soywebmaster.com.

Otros Foros de Interés

Curso SEO - Foro SEO - Foro Programacion - Foro Diseño Web - Intercambio de Enlaces - Negocios por Internet - Como Ganar Dinero - Foro Hosting - Foro Apuestas Deportivas

ÚLTIMOS ARTÍCULOS DEL BLOG SEO DE DAVID AYALA

MÉTODOS EFICACES para Indexar Enlaces en Google
Webinar: Keyword Research (Con Emilio García)
Safecont: Una herramienta SEO diferente
MEGA GUÍA SEO AutoPilot (Link Building Automático)
Usamos cookies que analizan hábitos de comportamiento y navegación que aceptas al navegar aquí. Política de privacidad | Cookies | Aviso legal