PHP - PHP redirección (location) pero con datos extraídos de json?

 
Vista:
Imágen de perfil de dani
Val: 50
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

PHP redirección (location) pero con datos extraídos de json?

Publicado por dani (15 intervenciones) el 07/10/2020 23:09:38
Hola, perdón que moleste pero me gustaria saber si es posible hacer una redirección con php, pero extrayendo datos de una json.

Contexto: Una página "dominiojson.com/media?group_id=xxx" tiene un archivo json con este dato {"video_url":"xxxxx", y quiero usar la url generada del json para hacer una redirección en php.

Intenté esto, pero bueno en realidad no sé nada de php :[

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if(isset($_GET['video'])){
    $video = $_GET['video'];
 
	$url = "http://dominiojson.com/media?group_id=$video";
	$ch = file_get_contents($url);
$video = json_decode($ch);
$stream = $video->video_url;
	echo $stream;
 
    header("Location: $stream");
}
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

PHP redirección (location) pero con datos extraídos de json?

Publicado por joel (1269 intervenciones) el 08/10/2020 08:18:52
Hola Dani, puedes hacerlo de dos maneras...

1.- convirtiendo el json a array... algo así:
1
2
$video = json_decode($ch, true);
$stream = $video["video_url"];

2.- Accediendo al json... algo así:
1
2
$video = json_decode($ch);
$stream = $video->{'video_url'};

Espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de dani
Val: 50
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

PHP redirección (location) pero con datos extraídos de json?

Publicado por dani (15 intervenciones) el 08/10/2020 15:51:34
Hola Joel, gracias por responder.
Qué debo cambiar si quiero acceder a este dato del json: response->media->video_url;?

Intenté integrarlo al código que mostré más arriba sin éxito, puedes indicarme como hacerlo?

Agradezco desde ya :]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

PHP redirección (location) pero con datos extraídos de json?

Publicado por joel (1269 intervenciones) el 08/10/2020 19:07:58
Puedes mostrarme el json? así intentare decírtelo exactamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de dani
Val: 50
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

PHP redirección (location) pero con datos extraídos de json?

Publicado por dani (15 intervenciones) el 08/10/2020 19:10:15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
  "entry": {
    "api_version": "v5.85",
    "authpn": "html5player",
    "authpt": "XXX",
    "device_category": "web",
    "device_model": "html5",
    "device_type": "1",
    "device_manufacturer": "1",
    "HKS": "(0)",
    "stream_type": "XXX",
    "group_id": "2205"
  },
  "status": 200,
  "response": {
    "stream_uuid": "2ea80bba85b6-dfe3-2ea80bba85b6-9ffd-2ea80bba85b6",
    "media": {
      "video_url": "https://dominiojson.com/video.mp4",
      "analytics_url": "https://dominiojson.com/serverip"
    },
    "language": {...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

PHP redirección (location) pero con datos extraídos de json?

Publicado por joel (1269 intervenciones) el 08/10/2020 20:45:02
Seria algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$x='{
  "entry": {
    "api_version": "v5.85",
    "authpn": "html5player",
    "authpt": "XXX",
    "device_category": "web",
    "device_model": "html5",
    "device_type": "1",
    "device_manufacturer": "1",
    "HKS": "(0)",
    "stream_type": "XXX",
    "group_id": "2205"
  },
  "status": 200,
  "response": {
    "stream_uuid": "2ea80bba85b6-dfe3-2ea80bba85b6-9ffd-2ea80bba85b6",
    "media": {
      "video_url": "https://dominiojson.com/video.mp4",
      "analytics_url": "https://dominiojson.com/serverip"
    }
  }
}';
 
$r=json_decode($x, true);
echo $r['response']['media']['video_url']; // "https://dominiojson.com/video.mp4"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de dani
Val: 50
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

PHP redirección (location) pero con datos extraídos de json?

Publicado por dani (15 intervenciones) el 08/10/2020 20:59:36
Hmm ya, pero el json están en otro servidor y el "video_url" no es estático o único entonces quería subir a mi hosting un archivo que me permitiera hacer una redirección a "video_url" sin tener que mirar el json manualmente digamos.

Pensaba algo así:
www.midominiopersonal.com/redirect.php --> "video_url"

Cada video de ese servidor externo tiene un json diferente / link distinto entonces tenia hecho este código pensado en hacer que redirect.php?video=ID1 o redirect.php?video=ID2 consiga el json de cada video y conseguir solo el dato de "video_url" para hacer la redirección, es posible?
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if(isset($_GET['video'])){
    $video = $_GET['video'];
 
	$url = "http://dominiojson.com/media?group_id=$video";
	$ch = file_get_contents($url);
$video = json_decode($ch);
$stream = $video['response']['media']['video_url'];
	echo $stream;
 
    header("Location: $stream");
}
?>

Gracias de antemano por la ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de javier
Val: 1.542
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

PHP redirección (location) pero con datos extraídos de json?

Publicado por javier (547 intervenciones) el 08/10/2020 22:07:51
Hola,

pero sin conocer la estructura de un json, ¿como leerlo?

como obtener la url?

con una expresion regular, se me ocurre.




1
$stream = $video['response']['media']['video_url'];
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de dani
Val: 50
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

PHP redirección (location) pero con datos extraídos de json?

Publicado por dani (15 intervenciones) el 08/10/2020 22:14:42
Te refieres a que si la estructura del json no está dentro del código php no es posible leerlo y por ende hace una redirección?
Pensaba que con la linea: file_get_contents($url) estaria leyendo el json de url para posteriormente solo escoger entre todos los datos "video_url" y hacer una redirección a este enlace y así lograr algo como

www.midominiopersonal.com/redirect.php --> "video_url"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de javier
Val: 1.542
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

PHP redirección (location) pero con datos extraídos de json?

Publicado por javier (547 intervenciones) el 08/10/2020 22:30:10
La redireccion la haces tú.

1
hedader('location :'. $url) ;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de dani
Val: 50
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

PHP redirección (location) pero con datos extraídos de json?

Publicado por dani (15 intervenciones) el 08/10/2020 22:32:23
Si uso ese código no estaré haciendo una redirección a la url donde está todo el json y no al video.mp4 que se encuentra dentro de 'video_url'?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de javier
Val: 1.542
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

PHP redirección (location) pero con datos extraídos de json?

Publicado por javier (547 intervenciones) el 08/10/2020 22:33:52
Claro, has de leer el JSON, arriba esta puesto como acceder al valor url del json
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de javier
Val: 1.542
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

PHP redirección (location) pero con datos extraídos de json?

Publicado por javier (547 intervenciones) el 08/10/2020 22:36:10
Y quita el echo que está antes de redirigir, no puedes enviar cabeceras después.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de dani
Val: 50
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

PHP redirección (location) pero con datos extraídos de json?

Publicado por dani (15 intervenciones) el 08/10/2020 23:51:32
bien, gracias Javier!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar