Foros del Web » Programando para Internet » PHP »

dar extencion flv a un archivo descargable

Estas en el tema de dar extencion flv a un archivo descargable en el foro de PHP en Foros del Web. Hola, tengo un codigo echo que descarga archivos flv (videos) pero los archivos estan si extencion ejemplo .flv , aguien me podria explicar si puedo ...
  #1 (permalink)  
Antiguo 14/06/2008, 10:20
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
dar extencion flv a un archivo descargable

Hola, tengo un codigo echo que descarga archivos flv (videos) pero los archivos estan si extencion ejemplo .flv , aguien me podria explicar si puedo si existe algum metodo o forma de agregarle la extrencion al precionar descargar ?.

Código PHP:
<?
if(eregi('youtube.com',$_POST['video'])){
$video="$_POST[video]";
$video2 explode("watch?v="$video);
$video2 explode("&"$video2[1]);
$video2 $video2[0];
 
$source file_get_contents($video);

preg_match("/var fullscreenUrl = '(.*?)';/is"$source$link);
$link=str_replace('/','',$link[1]);
$link=str_replace("watch_fullscreen?",'',$link);
$title explode("<title>"$source);
$title explode("</title>"$title[1]);
$title=str_replace("YouTube - ","",$title[0]);
$pic="http://img.youtube.com/vi/$video2/default.jpg";
echo
"<br><b>$title</b><br><br><img src=\"$pic\"><br><br><a href=\"http://www.youtube.com/get_video?$link\">[ DOWNLOAD NOW ]</a>";
}

?>

Desde ya muchas gracias saudos

Última edición por hawaiian050; 14/06/2008 a las 11:16
  #2 (permalink)  
Antiguo 14/06/2008, 10:29
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: dar extencion flv a un archivo descargable

pon el codigo de descargar

a ver como lo tienes hecho
  #3 (permalink)  
Antiguo 14/06/2008, 10:54
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: dar extencion flv a un archivo descargable

Podes ayudarme asi te paso el codigo ?
  #4 (permalink)  
Antiguo 14/06/2008, 11:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: dar extencion flv a un archivo descargable

claro! (para eso esta el foro)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 14/06/2008, 11:05
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: dar extencion flv a un archivo descargable

no se si podria ayudarte, sin verlo.

pero lo que es seguro es que ahora mismo tengo unos scripts para un centro de descargas, donde tambien se pueden descargar archivos flv, bueno, cualquier archivo, y no creo que quiera ahora cambiar la aplicacion, pero a lo mejor veo tu script y digo, !pero si es un codigo buenisimo!, pues voy y lo copio, como mucha gente mas que leyera el post.

espero esto responda a tus dudas y a tu reticencia a poner el script.

Un saludo.


PD, compartir conocimientos es lo que esta haciendo GRANDE a este foro, la gente pregunta, pone el codigo e intentamos entre todos, incluido tu y yo, resolverlo, y si no podemos, pues no pasa nada, y a otro tema.


Y ademas, solo con que pongas la parte del codigo que fuerza la descarga del archivo creo que seria suficiente.
  #6 (permalink)  
Antiguo 14/06/2008, 11:12
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: dar extencion flv a un archivo descargable

ya postie arriba el codigo gracias estaba pensando que algo asi podria serbir ? ahora no se como aplicarlo.

Código PHP:
header("Content-type: video/flv");

header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit(); 

Última edición por hawaiian050; 14/06/2008 a las 11:18
  #7 (permalink)  
Antiguo 14/06/2008, 11:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: dar extencion flv a un archivo descargable

como bien sabes... la extension es .flv

- la función basename() te puede servir para eliminar tal extensión... y, ¿donde esta el truco???

Código PHP:
$nombre=basename($filename'.flv').'.flv'
justo así... con basename quitamos la extensión flv (si tiene) y aun así, se la agregamos... fácil?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 14/06/2008, 11:30
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: dar extencion flv a un archivo descargable

si la cedena fuera /carpeta1/carpeta2/archivo.php

basename deberia devolver archivo.php, sin quitarle la extension
haz un echo de la variable $filename, a ver que te printa
  #9 (permalink)  
Antiguo 14/06/2008, 11:36
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: dar extencion flv a un archivo descargable

osea eso es un ejemplo, no tiene que ver con el codigo este es el codigo :

Código PHP:
<?
if(eregi('youtube.com',$_POST['video'])){
$video="$_POST[video]";
$video2 explode("watch?v="$video);
$video2 explode("&"$video2[1]);
$video2 $video2[0];
 
$source file_get_contents($video);

preg_match("/var fullscreenUrl = '(.*?)';/is"$source$link);
$link=str_replace('/','',$link[1]);
$link=str_replace("watch_fullscreen?",'',$link);
$title explode("<title>"$source);
$title explode("</title>"$title[1]);
$title=str_replace("YouTube - ","",$title[0]);
$pic="http://img.youtube.com/vi/$video2/default.jpg";
echo
"<br><b>$title</b><br><br><img src=\"$pic\"><br><br><a href=\"http://www.youtube.com/get_video?$link\">[ Descargar ]</a>";
}

?>
Como agrego la extencion .flv cuando descarga en archivo o antes ? saben ?
  #10 (permalink)  
Antiguo 14/06/2008, 11:42
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: dar extencion flv a un archivo descargable

pero tu el enlace de descargar lo mandas a

<a href=\"http://www.youtube.com/get_video?$link\">[ DOWNLOAD NOW ]</a>";

no es asi??

pues la pagima que estara procesando la descarga es youtube y no tu, y si es a si, no creo que puedas cambiar nada

Un saludo



con esto otro lo puedes hacer tu
Cita:
header("Content-type: video/flv");

header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit();
  #11 (permalink)  
Antiguo 14/06/2008, 11:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: dar extencion flv a un archivo descargable

Edito: de acuerdo con jaronu

pero aun así, podrías intentarlo.... si tienes habilitado allow_url_fopen

simplemente, abres el archivo (osea el enlace a youtube (del vídeo (el FLV))) con file_get_contents() y luego, ya lo tratas como si fuera tuyo.... chistosito
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 14/06/2008, 11:48
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: dar extencion flv a un archivo descargable

no es que quiera cambiarle a youtube, si no que cuando furze la descarga le agregue la extencion para ser descargado, endiendes

que detecte el get_video osea el flv y lo le greque una extencion para ser descargado, pero no se como hacerlo , osea quedaria algo asi :

$descarga($extencion) o asi <? echo $descarga; ?>.flv
  #13 (permalink)  
Antiguo 14/06/2008, 11:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: dar extencion flv a un archivo descargable

Cita:
Iniciado por hawaiian050 Ver Mensaje
no es que quiera cambiarle a youtube, si no que cuando furze la descarga le agregue la extencion para ser descargado, endiendes

que detecte el get_video osea el flv y lo le greque una extencion para ser descargado, pero no se como hacerlo , osea quedaria algo asi :

$descarga($extencion) o asi <? echo $descarga; ?>.flv
haber, haber... quiero que nos expliques de donde sacas la idea de que TU eres el que esta forzando la descarga.... eh?

cual es ese código, de verdad... o nosotros estamos viendo cosas locas??

NOTO: que la única salida que haces, es un simple echo...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 14/06/2008, 11:54
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: dar extencion flv a un archivo descargable

Osea cuando alguien forza una descarga el navegador deveria detectar el archivo y automatica mente darle extencion, ( claro si se lo predeterminase que tipo de archivo a descargar es ) que no se como pero podria hacerce con algo asi pero no se como header("Content-type: video/flv");
  #15 (permalink)  
Antiguo 14/06/2008, 11:57
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: dar extencion flv a un archivo descargable

Cita:
Iniciado por pateketrueke Ver Mensaje
haber, haber... quiero que nos expliques de donde sacas la idea de que TU eres el que esta forzando la descarga.... eh?

cual es ese código, de verdad... o nosotros estamos viendo cosas locas??
Es ese el codigo, lo que yo quier es que al forzar la descarga le diga al navegado que tipo de archivo es asi lo descarga con la extencion que es header("Content-type: video/flv"); que no se como hacerlo.

pero por ahi esta la clave pero claro es muy dificil:

Código PHP:
header("Content-type: video/flv"); 
  #16 (permalink)  
Antiguo 14/06/2008, 12:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: dar extencion flv a un archivo descargable

mmm... deveras, ponte a estudiar

Cita:
echo"<br><b>$title</b><br><br><img src=\"$pic\"><br><br><a href=\"http://www.youtube.com/get_video?$link\">[ DOWNLOAD NOW ]</a>";
sino me equivoco, este código es el que "crees" que obliga la descarga???

o es el enlace [ DOWNLOAD NOW ]

me gustaría que nos expliques, que esta sucediendo aquí...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 14/06/2008, 12:04
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: dar extencion flv a un archivo descargable

eso creo ... pero bueno si dices que no estoy equivocado voy a estudiarlo mas
  #18 (permalink)  
Antiguo 14/06/2008, 12:13
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: dar extencion flv a un archivo descargable

La idea se me ocurrio de este archivo , pero no se puede ? claro si fuera una flv en ves de una foto

Código PHP:
<?php 
// En la cabecera HTTP indicamos que lo que devolvemos es una imagen 
// de tipo PNG. Para ello utilizamos el tipo MIME: image/png 
Header("Content-type: image/jpeg"); 
// Creamos la imagen a partir de un fichero existente 
$im imagecreatefromJpeg("http://msnsearch.srv.girafa.com/srv/i?i=%204ac8babd1cf73ace&s=MSNSEARCH&cy=es-us&r=$_GET[imagen]"); 
// Mostramos la imagen 
ImageJpeg($im); 
// Liberamos la memoria que ocupaba la imagen 
ImageDestroy($im); 
?>
  #19 (permalink)  
Antiguo 14/06/2008, 12: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: dar extencion flv a un archivo descargable

vaya, si lo único que haces es... imprimir un enlace!!!

deveras, pon mas atención a lo que preguntas... suerte
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #20 (permalink)  
Antiguo 14/06/2008, 12:28
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: dar extencion flv a un archivo descargable

Cita:
Iniciado por pateketrueke Ver Mensaje
Edito: de acuerdo con jaronu

pero aun así, podrías intentarlo.... si tienes habilitado allow_url_fopen

simplemente, abres el archivo (osea el enlace a youtube (del vídeo (el FLV))) con file_get_contents() y luego, ya lo tratas como si fuera tuyo.... chistosito
Intentalo como te han dicho en este post, si no olvidate

Un saludo
  #21 (permalink)  
Antiguo 14/06/2008, 14:13
 
Fecha de Ingreso: septiembre-2006
Mensajes: 81
Antigüedad: 17 años, 7 meses
Puntos: 5
Respuesta: dar extencion flv a un archivo descargable

podrias hacer algo con Rewrite rule en Apache:
archivo .htaccess
Código:
RewriteEngine On
RewriteRule ^youtube/([A-Za-z0-9]+).flv$ http://www.youtube.com/get_video?$1 [L]
tu archivo:
Código PHP:
<?
if(eregi('youtube.com',$_POST['video'])){
$video="$_POST[video]";
$video2 explode("watch?v="$video);
$video2 explode("&"$video2[1]);
$video2 $video2[0];
 
$source file_get_contents($video);

preg_match("/var fullscreenUrl = '(.*?)';/is"$source$link);
$link=str_replace('/','',$link[1]);
$link=str_replace("watch_fullscreen?",'',$link);
$title explode("<title>"$source);
$title explode("</title>"$title[1]);
$title=str_replace("YouTube - ","",$title[0]);
$pic="http://img.youtube.com/vi/$video2/default.jpg";
echo
"<br><b>$title</b><br><br><img src=\"$pic\"><br><br><a href=\"/youtube/$link.flv\">[ Descargar ]</a>";
}
?>
Espero que te sirva
  #22 (permalink)  
Antiguo 14/06/2008, 15:19
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: dar extencion flv a un archivo descargable

me da error , pero gracias por la idea. Capas con este codigo alguien pueda hacerlo ? bueno gracias te dejo mi karma amigo

saludos
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:43.