2009-12-06 5 views
0

Je veux savoir s'il est possible d'obtenir un fichier FLV distant et l'avoir «flux» en utilisant PHP et la fonction exec. J'ai « boucle » dans mon environnement si je veux quelque chose comme:Obtenir un FLV à distance en utilisant PHP et curl

exec ('curl http://myhosts.com/myflv.flv', $out); 
print $out; 

Le problème est que $ sur est retourné comme un tableau; Je veux sortir le flux 'brut' renvoyé par curl.

Répondre

1

Vous devriez pouvoir utiliser fpassthru() pour cela, bien qu'il soit préférable de simplement rediriger l'utilisateur vers l'URL appropriée.

$fp = fopen('http://myhosts.com/myflv.flv', 'rb'); 
fpassthru($fp); 

Ou redirect:

header('Location: http://myhosts.com/myflv.flv'); 

Venez y penser, vous devriez même pouvoir utiliser readfile()

readfile('http://myhosts.com/myflv.flv'); 

En tout cas, si vous pouvez simplement rediriger l'utilisateur, fais ça. C'est beaucoup plus efficace.

+0

Eh bien, la première option semble fonctionner. Ma prochaine affaire est l'exécution de PHP max timeout; Si mon FLV est vraiment grand, php sera évidemment timeout. Quelles seraient les autres alternatives que vous pensez? – Disco

+0

Tout d'abord, quand vous dites "mon flv" je suppose que vous parlez toujours de fichiers distants. Si le fichier est accessible localement, vous devez absolument y accéder localement. Deuxièmement, alors que rediriger en utilisant un en-tête 'Location' est toujours la méthode à privilégier, je comprends que le timeout d'exécution max ne peut pas arrêter l'exécution d'une fonction PHP, donc il ne peut pas arrêter readfile() ou fpassthru() –

+0

Les fichiers FLV sont hébergés sur un autre serveur, la seule façon d'y accéder est via le web ... j'essaierai vos recommandations. Merci. – Disco

Questions connexes