maxus5578
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору В общем писал я уже раз об этом вопросе. На этом форуме мне сказали что UDP и file_get_contents не работают друг с другом. То есть file_get_contents не открывает udp. В Registered Stream Socket Transports есть поддержка udp Registered Stream Socket Transports tcp,udp, unix, udg Так же я обращался к программисту и он мне сказал что UDP и file_get_contents работают так как он недавно писал скрипт и у него упоминался данный метод. Может ошибка в коде, не понятно почему не работает Код: public function scrape ( $announce = null, $hash_info = null ) { if ( ! ini_get( 'allow_url_fopen' ) ) return self::set_error( new Exception( '"allow_url_fopen" must be enabled' ) ); $packed_hash = pack('H*', $hash_info ? $hash_info : $this->hash_info() ); $scrape = array(); $urls = (array) ($announce ? $result : $this->announce()); foreach ($urls as $tier ) foreach ( (array) $tier as $tracker) { if(!strpos($tracker.' ','80/announce')){ $tracker = $tracker.'80/announce'; } } if ( ! $scrape_data = file_get_contents( str_ireplace( array( 'udp://', '/announce'), array( 'http://', '/scrape', '/' ), $tracker ) . '?info_hash=' . urlencode( $packed_hash ) ) ) continue $scrape[$tracker] = self::set_error( new Exception( 'Tracker request failed' ), true ); $stats = self::decode_data( $scrape_data ); $scrape[$tracker] = isset( $stats['files'][$packed_hash] ) ? $stats['files'][$packed_hash] : self::set_error( new Exception( 'Invalid scrape data' ), true ); } return $scrape; } |
|