0

私はこのチュートリアルhttp://www.jek2k.com/wp/2008/02/08/building-a-custom-skype-me-button-with-status-icon/に従って、自分のWebサイトで透明な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を開いて呼び出すことができません。

ルートフォルダのskypeというフォルダに0〜7の画像を挿入しました。

誰でも助けることができます

4

2 に答える 2

0

Click-to-Call機能を追加するには、次の<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');

画像が表示されないという問題は、このコードとは関係ありません。ズールの答えは、その問題に関するいくつかの良いヒントを与えることです。

于 2012-06-14T15:17:40.550 に答える
0

1)

この問題は、おそらく適切に構築されていない画像パスに関連しているか、ブラウザがalt属性を表示しているため、指定された場所に画像自体が存在しません。

ここで、Skype イメージ パスを指定します。

echo '<img src="/skype/'.$status.'.png" alt="call '.$username.'" />';

画像が見つからない場合の出力は、属性にcall '.$username.'指定された内容です。alt

私のウェブサイトでこれをテストしようとすると、「call myusernamehere」というメッセージが表示されます。

Firebug などの DOM インスペクタ ツールを使用して、src属性で指定されたイメージ パスが適切に構築されていることを確認できます。

2)

のようなブラウザで画像にアクセスし、画像を表示http://www.mysite.com/skype/1.pngできる場合、この問題は$status、期待される 0 ~ 7 の値が得られないことに関連しています。

于 2012-06-14T15:13:45.063 に答える