Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: oglądanie filmu i zacinanie strony
Forum PHP.pl > Forum > PHP
matx132
Witam,
otóż chciałem sobie zrobić skrypt to oglądania filmów, po prostu mam listę wybieram interesujący mnie odcinek i oglądam, ale napotkałem na problem, a dokładniej po wejściu na stronę, wybraniu odcinka i naciśnięciu oglądaj pokazuje się ładnie player i można oglądać ale (zawsze jakieś ale) od początku pokazania się playera nie mogę nic zrobić na stronie to znaczy strona się zacina (mogę oglądać film ale wejść na inną podstronę nie) i teraz nie wiem w czym problem.
Czy ktoś może mi pomóc?

Oto skrypt który pobiera video z różnych stron.
  1. ini_alter ("memory_limit", "1024M");
  2.  
  3. function download($host, $port, $url,$name,$cookie){
  4. $nn="\r\n";
  5. $port=80;
  6. if ($cookie) {
  7. if (is_array ( $cookie )) {
  8. for($i = 0; $i < count ( $cookie ); $i ++) {
  9. $cookies .= "Cookie: " . $cookie [$i] . $nn;
  10. }
  11. } else {
  12. $cookies = "Cookie: " . $cookie . $nn;
  13. }
  14. }
  15. if(is_numeric($_GET['start']))
  16. $start='Content-Range: bytes '.$_GET['start'].$nn;
  17. else
  18. $start="";
  19. $request = "GET " . str_replace ( " ", "%20", $url ) . " HTTP/1.1" . $nn .
  20. "Host: " . $host . $nn .
  21. "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14" . $nn .
  22. "Accept: */*" . $nn .
  23. "Accept-Language: en-us;q=0.7,en;q=0.3" . $nn .
  24. "Accept-Charset: utf-8,windows-1251;q=0.7,*;q=0.7" . $nn .
  25. "Pragma: no-cache" . $nn . "Cache-Control: no-cache" . $nn .
  26. $start.
  27. $cookies . "Connection: Close" . $nn . $nn ;
  28. $errno = 0;
  29. $errstr = "";
  30. $hosts = ( $host) . ':' . ($port);
  31. $fp = @stream_socket_client ( $hosts, $errno, $errstr, 120);
  32.  
  33. if (! $fp) {
  34. echo "błąd";
  35. }
  36.  
  37. if ($errno || $errstr) {
  38. die ("bląd");
  39. }
  40. fputs ( $fp, $request );
  41. fflush ( $fp );
  42. $header="";
  43. do {
  44. $header .= fgets ( $fp, 36384 );
  45. } while ( strpos ( $header, $nn . $nn ) === false );
  46.  
  47.  
  48. if (! $header) {
  49. die ("bląd");
  50. }
  51. $responsecode = "";
  52. preg_match ( '/^HTTP\/1\.0|1 ([0-9]+) .*/', $header, $responsecode );
  53. if (($responsecode [1] == 404 || $responsecode [1] == 403) && $saveToFile) {
  54. die("ERROR");
  55. }
  56. preg_match('#Content-Length: (.*)\n#Us',$header,$match);
  57. $match[1]=str_replace("\n","",$match[1]);
  58. $match[1]=str_replace("\r","",$match[1]);
  59. $bytesTotal=$match[1];
  60. $ContentType = trim (cut_str( $header, "Content-Type:", "\n" ) );
  61. if(ini_get('zlib.output_compression'))
  62. ini_set('zlib.output_compression', 'Off');
  63. header('Content-Disposition: inline; filename="' . $name . '"');
  64. header("Etag: $_SESSION[etag]");
  65. header("Content-Length: ".$bytesTotal);
  66. header("Cache-Control: private");
  67. header('Content-Transfer-Encoding: binary');
  68. HEADER("Accept-Ranges: bytes");
  69. header("Vary: User-Agent");
  70. header('Keep-Alive: timeout=1, max=100');
  71. header("Content-Type: $ContentType");
  72.  
  73. do {
  74. $data = @fread ( $fp, ( 1024) );
  75. if ($data == '')
  76. break;
  77. echo $data;
  78. }while( strlen($data)> 0 );
  79. fclose($fp);
  80. }
  81. $cookies=$_SESSION['cookie'];
  82. $url=($_GET['id']);
  83. $url=parse_url($url);
  84. $name=str_replace("+"," ",$_GET['name']).".flv";
  85. download($url['host'], 80, $url['path'],$name,$cookies);


co by należało zmienić/dodać? używam stream_socket_client tylko dlatego że w curl podobno nie idzie zrobić aby przekazywał pobrane dane, tylko czeka aż ściągnie wszystko i wtedy dopiero pokazuje, nie chcę zapisywać pliku na swoim serwerze.

NIE OCZEKUJE GOTOWEGO SKRYPTU, CHCIAŁBYM WSKAZÓWKI CO POPRAWIĆ/ZMIENIĆ ABY DZIAŁAŁO DOBRZE.


pozdrawiam i z góry dziękuje za pomoc
fudddi
Mi zawsze pomaga poczytanie manuala ;>

Kolego wiesz kiedy "kończy się" wykonywanie skryptu?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.