кодировка в fopen

timson

Новичок
кодировка в fopen

есть ссылка на файл в интернете, содержит кириллицу. вот и трабла, fopen не может открыть эту ссылку ((

Код:
Warning: fopen([url]http://timson.be/files/Свободные[/url] Мысли - DJ Grad (Moscow).rar) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in ...
что делать, а? (((
 

timson

Новичок
неа, не помогло ((

там же тоже самое попадает в fopen

вот что выдает rawurlencode на http://localhost/1/Свободные Мысли - DJ Grad (Moscow).rar:
Код:
http%3A%2F%2Flocalhost%2F1%2F%D1%E2%EE%E1%EE%E4%ED%FB%E5%20%CC%FB%F1%EB%E8%20-%20DJ%20Grad%20%28Moscow%29.rar
и та же ошибка
Код:
Warning: fopen(http://localhost/1/Свободные Мысли - DJ Grad (Moscow).rar): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in d:\myprog\webroot\file2target.php on line 37
-~{}~ 16.01.06 19:40:

а нее, ошибся, вот что выдает

Warning: fopen(http%3A%2F%2Flocalhost%2F1%2F%D1%E2%EE%E1%EE%E4%ED%FB%E5%20%CC%FB%F1%EB%E8%20-%20DJ%20Grad%20%28Moscow%29.rar): failed to open
stream: HTTP request failed! HTTP/1.1 400 Bad Request in d:\myprog\webroot\file2target.php
on line 37
 

white phoenix

Новичок
timson
Естественно. Bad Request говорит потому что нельзя в пути использовать пробелы.
PHP:
$s = 'http://localhost/1/Свободные Мысли - DJ Grad (Moscow).rar';
$i = parse_url($s);
$p = '';
foreach(explode('/',trim($i['path'],'/')) as $v) {$p .= '/'.rawurlencode($v);}
$url = $i['scheme'].'://'.$i['host'].$p;
echo $url;
// http://localhost/1/%D1%E2%EE%E1%EE%E4%ED%FB%E5%20%CC%FB%F1%EB%E8%20-%20DJ%20Grad%20%28Moscow%29.rar
И будет самое оно :)
 
Сверху