Autor | Zpráva | ||
---|---|---|---|
davef6 Profil |
#1 · Zasláno: 7. 11. 2009, 21:03:24
Dobrý den, mám tuto funkci
function processURL($url){ $url=str_replace('&','&',$url); $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_HEADER,true); curl_setopt ($ch,CURLOPT_RANGE,"0-50"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $xml = curl_exec($ch); curl_close ($ch); $mp3 = substr_count($xml,"audio/mpeg"); if ($mp3 == 0) return false; else return true; } která kontroluje mp3, ale když je třeba v databázi uloženo http://m.peciak.wrzuta.pl/sr/f/2Kg4gr8I2y4/lionel_richie_-_say_you_say_me.mp3 a při vložení do url dojde k přesměrování na http://c.wrzuta.pl/wa4303/bc2f9ad60015db1349d10a11/0/lionel%20richie%20-%20say%20you%2C%20say%20me.mp3 tak to tuto mp3 nahlásí jako nefunkční, změním li na ten druhý link je po problému. Proto se ptám zda li lze nějak upravit tu funkci, aby odhalila funkčnost mp3 i takovéhoto přesměrování. díky za odpovědi |
||
Majkl578 Profil |
#2 · Zasláno: 8. 11. 2009, 00:35:39
Zajímavé, pokud to dobře chápu, má to vrátit true pokud existuje.
Tento kód: var_dump(processURL('http://m.peciak.wrzuta.pl/sr/f/2Kg4gr8I2y4/lionel_richie_-_say_you_say_me.mp3')); mi vrací true. Dump proměnné $xml (pouze hlavičky, binární data nepřikládám) vrací: HTTP/1.1 301 Moved Permanently Date: Sat, 07 Nov 2009 23:34:44 GMT Server: Apache/2.0.59 (Unix) PHP/5.2.5 Location: http://c.wrzuta.pl/wa4303/bc2f9ad60015db1349d10a11/0/lionel%20richie%20-%20say%20you%2C%20say%20me.mp3 Content-Length: 310 Connection: close Content-Type: text/html; charset=iso-8859-1 HTTP/1.1 206 Partial content Date: Sat, 07 Nov 2009 23:34:43 GMT x-sds-request-id: 08D32CC4 x-sds-rp: f14 ETag: "165b7e3c1c53fbe015ffd4e4ad928583" Content-Range: 0-50/3885797 Last-Modified: Mon, 30 Mar 2009 18:06:09 GMT Content-Type: audio/mpeg3 Content-Length: 51 Server: sds 1.2 |
||
davef6 Profil |
#3 · Zasláno: 8. 11. 2009, 10:40:55
když to udělám takto
function processURL($url){ $url=str_replace('&','&',$url); $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_HEADER,true); curl_setopt ($ch,CURLOPT_RANGE,"0-50"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $xml = curl_exec($ch); curl_close ($ch); return $xml; } var_dump(processURL("http://m.peciak.wrzuta.pl/sr/f/2Kg4gr8I2y4/lionel_richie_-_say_you_say_me.mp3")); ?> tak mi to teď vrací pouze toto HTTP/1.1 301 Moved Permanently Date: Sun, 08 Nov 2009 09:38:35 GMT Server: Apache/2.0.59 (Unix) PHP/5.2.5 Location: http://c.wrzuta.pl/wa4303/bc2f9ad60015db1349d10a11/0/lionel%20richie%20-%20say%20you%2C%20say%20me.mp3 Content-Length: 310 Connection: close Content-Type: text/html; charset=iso-8859-1 Moved Permanently The document has moved here. jak mohu docílit, aby mi to vracelo i toto HTTP/1.1 206 Partial content Date: Sat, 07 Nov 2009 23:34:43 GMT x-sds-request-id: 08D32CC4 x-sds-rp: f14 ETag: "165b7e3c1c53fbe015ffd4e4ad928583" Content-Range: 0-50/3885797 Last-Modified: Mon, 30 Mar 2009 18:06:09 GMT Content-Type: audio/mpeg3 Content-Length: 51 Server: sds 1.2 |
||
Majkl578 Profil |
#4 · Zasláno: 8. 11. 2009, 12:33:33
To vypadá na nějakou odlišnost ve verzích php nebo jeho nastavení. Testoval jsem to na verzi 5.2.11.
|
||
davef6 Profil |
#5 · Zasláno: 8. 11. 2009, 13:29:39
no mám tu php 5.2.3
|
||
Časová prodleva: 15 let
|
0