Programación Web y Scripting > PHP

 No Reconoce Archivo Jpg

<< < (2/2)

-DriverOp-:
Todo lo contrario. Desde la versión 4 de PHP register_globals está en OFF por omisión porque se sabe que cuando está en ON resulta en un agujero de seguridad.

Por lo tanto, lo que debes hacer es usar los arrays $_POST/$_GET/$_FILES/$_SESSIONS/$_COOKIE para tomar los diferentes parámetros que se le envian a tu script.

En tu caso *supongo* que debería ser así para la variable que nos ocupa:

$file_type = @$_POST["file_type"];

El "@" sirve para que no te salte error en caso que el índice "file_type" no exista en el array $_POST y la variable a la izquierda de la asignación quedaría vacia.

De todas formas no estoy seguro de que "file_type" venga en $_POST, podría venir en $_FILES así que te propongo lo siquiente:

Escribe un script de prueba que solo contenga esto:

--- Código: Text --- &#60;b&#62;Variables en _FILES:&#60;/b&#62;&#60;pre&#62;&#60;?php var_dump(&#036;_FILES); ?&#62;&#60;/pre&#62;&#60;b&#62;Variables en _POST:&#60;/b&#62;&#60;pre&#62;&#60;?php var_dump(&#036;_POST); ?&#62;&#60;/pre&#62;  Y haz que el formulario invoque a este script, así sabrás por dónde te llegan los parámetros y cómo extraerlos.

Altareum:
Sheilac, como dijo DriverOp, register globals está desactivado por cuestiones de seguridad, y por lo mismo te aconsejo que no lo uses.


En el caso del envío de archivos, estos se encontrarán en $_FILES. El cual es un Array, con la información básica de cada archivo. Los keys de $_FILES, estarán dados, por la propiedad name del formulario.

Por ejemplo si tienes el siguiente input:

--- Código: Text --- &#60;input type=&#34;file&#34; name=&#34;logo&#34;&#62;  
$_FILES quedará entonces de la siguiente forma:

--- Código: Text --- Array (     [logo] =&#62;         Array (             [name] =&#62; prod_82.jpg             [type] =&#62; image/jpeg             [tmp_name] =&#62; /tmp/phpM0NjQb             [error] =&#62; 0             [size] =&#62; 46021         ) )  
Donde:
name: Nombre del archivo enviado.
type: Mime del archivo enviado.
tmp_name: Ruta y nombre del archivo temporal generado.
error: Índice perteneciente al error producido. 0 si no hubo error.
size: Tamaño del archivo.


Por lo cual tu variable $file_type en realidad sería $_FILES['logo']['type'], y lo que debes adjuantar al mail es $_FILES['logo']['tmp_name'].


Altareum.

sheilac:
Muchisimas gracias a los dos han sido muy amables.
hice los cambios que me dijeron y solo me resta cruzar los dedos y esperar que funcione.
Aunque me imagino asi sera, continua funcionando en el sitio donde funcionaba asi que espero funcione ahora en este sitio.
muchas gracias
hice la prueba que me dijistes  -DriverOp-
y esta cargado en $_FILES
como decia Altareum asi que mil gracias a los dos. ;)
saludos

sheilac:
holaaaaaaaaa
una ultima duda (espero)
porque si lo mando a cuatro correos a tres de ellos me llega bien, adinet, yahoo, montevideo.com,  y a gmail me llegan todas letras y no la imagen????
con el codigo que indique arriba claro.
desde ya muchas gracias
el problema es que si la imagen se mira desde internet todo bien, ahora si ese mail tanto de montevideo.com como de adinet los bajo por outlock para tenerlos en el disco ahi me guarda letras
que puede ser???

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa