我正在按照本教程http://www.jek2k.com/wp/2008/02/08/building-a-custom-skype-me-button-with-status-icon/在我的网站上获取透明的Skype按钮,以便人们可以通过点击按钮给我打电话。 Skype有自己的背景是白色的,http://www.skype.com/intl/en-us/tell-a-friend/get-a-skype-button/
我的代码是:
<?php
function getSkypeStatus($username) {
/*
returns:
0 - unknown
1 - offline
2 - online
3 - away
4 - not available
5 - do not disturb
6 - invisible
7 - skype me
*/
$remote_status = fopen ('http://mystatus.skype.com/'.$username.'.num', 'r');
if (!$remote_status) {
return '0';
exit;
}
while (!feof ($remote_status)) {
$value = fgets ($remote_status, 1024);
return trim($value);
}
fclose($remote_status);
}
function getSkypeStatusIcon($username) {
$status = getSkypeStatus($username);
// change the path of the icons folder to match your site
echo '<img src="/skype/'.$status.'.png" alt="call '.$username.'" />';
}
// retrieves the numeric status code
//getSkypeStatus('nicolovolpato');
// displays the status icon, change to match your Skype username
getSkypeStatusIcon('myusernamehere');
?>
当我在我的网站上进行测试时,它就出现了:'调用myusernamehere'。没有图像,我无法点击调用myusernamehere来打开Skype并打电话。
我已将图像0-7插入我的根文件夹中名为skype的文件夹中。
任何人都可以提供帮助
答案 0 :(得分:0)
问题与可能未正确构建的图像路径有关,或者由于浏览器呈现alt
属性,因此指定位置的图像不存在。
在此指定Skype图像路径:
echo '<img src="/skype/'.$status.'.png" alt="call '.$username.'" />';
无法找到图片时的输出为call '.$username.'
,其中包含alt
属性的内容。
当我在我的网站上测试时,它就出现了:'打电话给我的用户名。'
您可以使用DOM检查器工具(例如Firebug)来确认src
属性中指定的图像路径是否正确构建。
如果您通过http://www.mysite.com/skype/1.png
之类的浏览器访问该图片,并且您能够看到它,则该问题与$status
无法提供预期的0到7值相关。
答案 1 :(得分:0)
要添加点击通话功能,请使用<a>
标记:
<a href="skype:{username}?call">...</a>
因此,此脚本的修改版本如下所示:
<?php
function getSkypeStatus($username) {
$remote_status = file_get_contents('http://mystatus.skype.com/'. $username .'.num');
return ($remote_status === false) ? '0' : trim($remote_status);
}
function showSkypeButton($username) {
$status = getSkypeStatus($username);
echo '<a href="skype:'. $username .'?call">';
echo '<img src="/skype/'. $status .'.png" alt="Call '. $username .'">';
echo '</a>';
}
showSkypeButton('whatever');
图像未显示的问题与此代码无关。 Zuul的回答是给你一些关于这个问题的好提示。