Пожалуйста, помогите мне, я не знаю, что делать. Пытался urlencode
но не работает
UTF-8 не работает. Мне нужно, чтобы скрипт мог прочитать апостроф для отображаемого изображения, но ничего не поделать. Я не программист, и теперь мне нужна ваша помощь для решения этой проблемы.
<?php
$cover_d = 'http://metalrockpopradio.caramania.com/blackblack.gif';
$sc_url_ip = "69.175.13.131";
$sc_url_port = "8050";
function getNowPlaying($sc_url_ip,$sc_url_port) {
$open = fsockopen($sc_url_ip,$sc_url_port,$errno,$errstr,'.5');
if ($open) {
fputs($open,"GET /7.html HTTP/1.1\nUser-Agent:Mozilla\n\n");
stream_set_timeout($open,'1');
$read = fread($open,200);
$text = explode(",",$read);
if($text[6] == '' || $text[6] == '</body></html>') {
$msg = ' live stream ';
} else {
$msg = $text[6];
}
$text = $msg;
} else {
return false;
}
fclose($open);
return $text;
}
$current_song = getNowPlaying($sc_url_ip,$sc_url_port);
$current_song = iconv('ISO-8859-1', 'UTF-8', $current_song);
$singinfo = explode(" - ",$current_song);
$artist = urlencode($singinfo[0]);
$titel = urlencode(strip_tags($singinfo[1]));
$imgurl = @file_get_contents("http://api.depubliekeomroep.nl /anp/albumart.php?artiest=".$artist."&titel=".$titel."&size=extralarge");
if ($imgurl != "") {
print "<img src=\"" . $imgurl . "\">";
} else {
print "<img src=\"" . $cover_d . "\">";
}
?>
Мы говорим об ASCII 39, да? Я имею в виду, что это даже работает …
<?php
$artist = "Tom Petty";
$title = "I won't back down";
$uri = "http://api.depubliekeomroep.nl/anp/albumart.php?artiest={$artist}&titel={$title}&size=extralarge";
var_dump(file_get_contents($uri));
‘https://lastfm-img2.akamaized.net/i/u/300×300/05600d9c77a9288add89fac53d3482e7.png‘
(Длина = 82)
Может быть, привести пример реальной строки, доставляющей вам неприятности?
Хотя вышесказанное работает для меня, оно может зависеть от основной оболочки.
Лучшая практика будет:
$title = urlencode("I won't back down");
Других решений пока нет …