Foros del Web » Programando para Internet » PHP »

header para IE

Estas en el tema de header para IE en el foro de PHP en Foros del Web. Hola mundo espero que esten bien lo siguiente es para molestarlo un poco lo que pasa es que estoy realizando una pagina la cual hace ...
  #1 (permalink)  
Antiguo 05/04/2010, 09:05
Avatar de towel  
Fecha de Ingreso: marzo-2009
Mensajes: 101
Antigüedad: 15 años, 1 mes
Puntos: 0
header para IE

Hola mundo espero que esten bien lo siguiente es para molestarlo un poco lo que pasa es que estoy realizando una pagina la cual hace decarga de archivos .wmv bien los hago con la funcion header que la pongo en una ventana emergente que activ la funcion y hce la decarga bueno ahi todo sin problema la empece a probar en todos los navegadores y funcionava bien pero en el IE me funciona
es mas le doy click al boton abre la ventana emergente por un segundo y puf.. se cae alguien me podria ayudar mire el codigo o si hay otra forma de hacer que la extenciones .wmv se decargue directamente sin que bara el reproductor de windows media ... gracias...
Código:
header("Pragma: public");
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-length: ".$nombreE." "); 
header("X-UA-Compatible: IE=EmulateIE7");
header('Content-Type: application/ms-word');
header('Content-Type: video/x-ms-wmv');
header("Content-Type: application/force-download");
header("Content-Type: application/download");
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename=".$nombreE." ");
readfile("/web/otbvideo/HTML_dowload/download_video/".$nombreD."");
  #2 (permalink)  
Antiguo 05/04/2010, 09:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: header para IE

dices... que abre el archivo en el reproductor en lugar de descargarlo??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 05/04/2010, 09:11
Avatar de towel  
Fecha de Ingreso: marzo-2009
Mensajes: 101
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: header para IE

no osea si lo hago con un javascript con document.location abre la locacion del video y automatocamente se reproduce bueo asi no me sirve con el header en el mozilla , chrome y etc.... me sale enseguida la decarga y lo hace bien pero cuando intento ejecutarla con el IE abre la ventana emergente y se cierra uy no me hace nada y ahi esta el error...
  #4 (permalink)  
Antiguo 05/04/2010, 09:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: header para IE

pues yo veo que tienes bastantes errores en tus cabeceras...

porque no buscas una simple función para forzar descargas??

yo siempre he usado la misma, sin headers especiales para IE y ha funcionado muy bien... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 05/04/2010, 09:16
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: header para IE

Tienes varios headers demás. Como por ejemplo ¿por qué estás indicando que quieres que el archivo sea ms-word? Indica solamente los necesario y verifica a ver si envia la información.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 05/04/2010, 09:18
Avatar de towel  
Fecha de Ingreso: marzo-2009
Mensajes: 101
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: header para IE

bueno revizare pero me recomiendas que busque uno en javascript , ajax y que no utilice los cabeceros para IE
  #7 (permalink)  
Antiguo 05/04/2010, 09:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: header para IE

Cita:
Iniciado por towel Ver Mensaje
bueno revizare pero me recomiendas que busque uno en javascript , ajax y que no utilice los cabeceros para IE
no para nada... recuerda que con PHP lo puedes hacer perfectamente!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 05/04/2010, 09:18
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: header para IE

No necesariamente, solo haz prueba con los headers necesarios.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 05/04/2010, 10:33
Avatar de towel  
Fecha de Ingreso: marzo-2009
Mensajes: 101
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: header para IE

pues chicos he buscado con los header asi como me dijeron y no funciona miren el codigo que utilizo ahora simplemente cuando le doy click al boton para abrir la ventana emergente se abre y al instante se cierra con el IE alguna otra idea ???? disculpen las molestias
Cita:
if (!isset($_GET['nombreD']) || empty($_GET['nombreD']))
{
exit();
}
$root = "/web/otbvideo/HTML_dowload/download_video/";
$file = $_GET['nombreD'];
$path = $root.$file;
$type = '';
if (is_file($path)) {
$size = filesize($path);
if (function_exists('mime_content_type'))
{
/*$path = basename($path);
echo $hola = mime_content_type("php.gif");
echo $hola2 = mime_content_type('test.php');
echo "resultado = ".$type = mime_content_type($path);*/
$type ="video/x-ms-wmv";
}
else if (function_exists('finfo_file'))
{
echo "hola2";
$info = finfo_open(FILEINFO_MIME);
$type = finfo_file($info, $path);
finfo_close($info);
}
if ($type == '') {
$type = "application/force-download";
}
// Set Headers
header("Content-Type: $type");
header("Content-Disposition: attachment; filename=$file");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . $size);
// Download File
readfile($path);
}
else
{
die("File not exist !!");
}
  #10 (permalink)  
Antiguo 05/04/2010, 10:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: header para IE

yo creo que sería bueno ver el código con el cual abres dicha ventana emergente, ya que de lado de PHP nunca existió algún problema... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 05/04/2010, 10:40
Avatar de towel  
Fecha de Ingreso: marzo-2009
Mensajes: 101
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: header para IE

es una simple function javascropt mirenla y es tan curioso que con los otros navegadores funciona bien.
Cita:
function descarga_archivo_dvd(nombreD, id_usuario)
{

valores = 'nombreD='+nombreD;
//valores += '&resultado='+resultado;
valores += '&id_usuario='+id_usuario;
alert (valores);
var ventana;
var URL = "./descarga_archivo_dvd.php?"+valores;
var ventana = window.open(URL,'descarga_archivo_dvd','toolbar=0, location=0,directories=0,status=0,menubar=0,scroll bars=0,resizable=0, left=0,top=0 ,width=800, height=600');
if(ventana != null)
{
ventana.focus();
}

}
  #12 (permalink)  
Antiguo 05/04/2010, 10:44
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: header para IE

¿De casualidad tienes algún código que cierre la venta automaticamente?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #13 (permalink)  
Antiguo 05/04/2010, 10:52
Avatar de towel  
Fecha de Ingreso: marzo-2009
Mensajes: 101
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: header para IE

no es mas mirene l codigo completo de lapagina emergente.
Cita:
<?php
function partir_nombre($nombre)
{
$rutanombre = explode("/", $nombre);
$rutanombre1 = $rutanombre[0];
$rutanombre2 = $rutanombre[1];
$result = $rutanombre2;
return $result;
}
$nombreD = $_GET["nombreD"];

$nombreE = partir_nombre($nombreD);

$user_agent = strtolower ($_SERVER["HTTP_USER_AGENT"]);

if ((is_integer (strpos($user_agent, "msie"))) && (is_integer (strpos($user_agent, "win"))))
{


if (!isset($_GET['nombreD']) || empty($_GET['nombreD']))
{
exit();
}
$root = "/web/otbvideo/HTML_dowload/download_video/";
$file = $_GET['nombreD'];
$path = $root.$file;
$type = '';
if (is_file($path)) {
$size = filesize($path);
if (function_exists('mime_content_type'))
{
/*$path = basename($path);
echo $hola = mime_content_type("php.gif");
echo $hola2 = mime_content_type('test.php');
echo "resultado = ".$type = mime_content_type($path);*/
$type ="video/x-ms-wmv";
}
else if (function_exists('finfo_file'))
{
echo "hola2";
$info = finfo_open(FILEINFO_MIME);
$type = finfo_file($info, $path);
finfo_close($info);
}
if ($type == '') {
$type = "application/force-download";
}
// Set Headers
header("Content-Type: $type");
header("Content-Disposition: attachment; filename=$file");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . $size);
// Download File
readfile($path);
}
else
{
die("File not exist !!");
}

}
else
{
// echo "hola2";
header("Content-Description: File Transfer");
header('Content-Type: application/octet-stream');
header("Content-Type: application/force-download");
header("Content-Type: application/download");
header("Content-Transfer-Encoding: binary");
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Disposition: attachment; filename=".$nombreE." ");
//readfile("/Server/www/download/download_video/".$nombreD." ");*/
readfile("/web/otbvideo/HTML_dowload/download_video/".$nombreD."");
}




/*header ("Content-Disposition: attachment; filename=".$release." ");
header ("Content-Type: application/octet-stream");

header("Content-Type: application/force-download");

header("Content-Transfer-Encoding: binary ");
readfile('./xampp/htdocs/$release');*/
?>


  #14 (permalink)  
Antiguo 05/04/2010, 10:54
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: header para IE

Te recomiendo que vayas creando la aplicación haciendo algó sencillo y vayas aumentando, hasta que la completes. Me refiero, comienza haciendo un archivo que contenga solamente los header, pruebas en todos los navegadores a ver si funciona y luego continua añadiendo variables, pruebas en todos los navegadores y si funciona sigue con consultas a la base de datos, pruebas en los navegadores, etc. etc. etc.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #15 (permalink)  
Antiguo 05/04/2010, 11:28
Avatar de towel  
Fecha de Ingreso: marzo-2009
Mensajes: 101
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: header para IE

abimaelrc he notado que apenas coloco estos heder es cuando se me cae la ventana.
Cita:
header("Content-Type: application/download");
header("Content-type: application/force-download");
header('Content-Disposition: attachment; filename='.$nombreE.'');
readfile(''.$path.'');
asi sea colocar solamente una se cae enseguida enotonces la verdad noc que hacer y si simplemente le coloco un location me abre un reproductor y la idea s forzar la descarga.. noc que hacer ;(
  #16 (permalink)  
Antiguo 05/04/2010, 12:18
Avatar de towel  
Fecha de Ingreso: marzo-2009
Mensajes: 101
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: header para IE

despues de tanto intentar al fin lo pude conseguir con el IE pues lo que hice fue al momneto de abrirla ventana emergente tuv qu colocarl un linck dicional para que abriera otra pagina y forzar al cliente que le diera click paa que forzarala descarga y pues al fin salio para IE.

Etiquetas: header
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 22:09.