Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem ze skryptem remote upload na megavideo
Forum PHP.pl > Forum > Przedszkole
kavillock
żaden gotowiec mi nie pomógł więc połączyłem kilka klas związanych w megavideo - loguję się poprawnie - wysyła cookie ale później jakby miał problem z wysłaniem filmu, poprostu go nie ma na megavideo - kod podaje niżej

  1. <?php
  2.  
  3. //Folder Temp
  4. $Temp_Folder = dirname(__FILE__).'/temp/';
  5.  
  6. //Ciastko
  7. $COOKIE_FILE = $Temp_Folder.'mv_cookie.txt';
  8.  
  9. //Użytkownik MegaVideo
  10. $USERNAME = 'login';
  11.  
  12. //Hasło MegaVideo
  13. $PASSWORD = 'haslo';
  14.  
  15. function curl ($url, $post=NULL)
  16. {
  17.  
  18. // Dane logowania
  19. $post['nickname'] = $USERNAME;
  20. $post['password'] = $PASSWORD;
  21. $post['action'] = 'login';
  22.  
  23.  
  24. $ch = curl_init();
  25. curl_setopt($ch, CURLOPT_URL,$url);
  26. curl_setopt($ch, CURLOPT_COOKIEFILE, $COOKIE_FILE);
  27. curl_setopt($ch, CURLOPT_COOKIEJAR, $COOKIE_FILE);
  28. curl_setopt($ch, CURLOPT_FAILONERROR, 1);
  29. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  30. curl_setopt($ch, CURLOPT_POST, 1);
  31. curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  32. $buffer = curl_exec($ch);
  33. curl_close($ch);
  34. }
  35.  
  36. /*
  37. Dostępne języki
  38. 1 = EN
  39. 2 = ES
  40. 3 = JA
  41. 4 = DE
  42. 5 = CH
  43. 6 = FR
  44.  
  45. Dostępne kanały:
  46. 1 = Arts & Animations
  47. 2 = Autos & Vehicles
  48. 10 = Music
  49. 15 = Pets & Animal
  50. 17 = Sports
  51. 19 = Travel & Places
  52. 20 = Video Games
  53. 22 = People
  54. 23 = Comedy
  55. 24 = Entertainment
  56. 25 = News & Blogs
  57. 26 = Science & Technology
  58. */
  59.  
  60. function uploadvideo ($file_url, $file_name, $file_desc, $file_tags, $language=1, $channel=23)
  61. {
  62. if(!copy($file_url, $Temp_Folder.basename($file_url)))
  63. {
  64. return false;
  65. }
  66.  
  67. $upload_session = curl ('http://megavideo.com/?c=upload', array('action' => 'step2', 'title' => $file_name, 'description' => $file_desc, 'tags' => $file_tags, 'language' => $language, 'channel' => $channel));
  68.  
  69. // Pobierz id
  70. preg_match('/<form method="post" enctype="multipart\/form-data" action="(.*)" id="uploadfrm" target="uploadframe">/isU', $upload_session, $upload_url);
  71.  
  72. // Wyslij plik przez curl
  73. curl ($upload_url[1], array('action' => 'submit', 'tags' => $file_tags, 'title' => $file_name, 'language' => $language, 'message' => $file_desc, 'channels' => $channel, 'file' => '@'.$Temp_Folder.basename($file_url)));
  74.  
  75.  
  76. return true;
  77. }
  78.  
  79. uploadvideo ('http://83.242.79.98/film.wmv', 'plik', 'opis','tag');
  80. ?>


jeśli ktoś by znalazł błędy będę wdzięczny
piotrekkr
Jak na razie nie widzę nigdzie ustawienia zmeinnej $upload_url w funkcji uploadvideo(), może nie napisałeś ale jeśli ona jest nie ustawiona to może dla tego nie działa.
kavillock
o ile dobrze to rozumiem to preg_match z linii 73 powinien ustawić tą zmienną, ale mogę się mylić
piotrekkr
No tak nie zauważyłem smile.gif Ok to teraz kolejne pytanie po co w funkcji curl() argument $url skoro na początku tej funkcji ustawiasz go zawsze na stały: $url = 'http://www.megavideo.com/?s=signup';
kavillock
zaktualizowałem skrypt (1 post), ale nadal to samo, w dodatku jakby się ciastko nie zapisywało
sejgo
czy juz ktos wie jak ten skrypt powinien dzialac
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.