PHP は WeChat パブリック プラットフォームにミュージック オンデマンドを実装します_PHP チュートリアル
1. WeChat が提供する XML 形式で音楽メッセージを構築します
音楽の XML 形式は次のとおりです:
>
<タイトル<<説明> ;![CDATA [DESCRIPTION]]>説明>
ここでの主なデータは MusicUrl と HQMusicUrl のデータで、前者は通常の品質の音楽で、後者の HQ は Wi-Fi 環境下で最初に再生されます。
コードをコピーします 如 コードは次のとおりです:
Priving function transfermusic ($ Object, $ musicarray, $ Flag = 0) {
$ itEmtpl = "& lt;
$resultStr = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $flag);
return $resultStr;
}
2. 構築パラメータ $musicArray
コードをコピー
コードは次のとおりです:
$musicArray = array("Title"=>$songstr, "Description"=>"Singer:". $singerstr, "MusicUrl"=>$this->getMusicUrl($this->getMusic($songstr,$singerstr)),"HQMusicUrl"=>$this->getHQMusicUrl($this->getMusic ($songstr ,$singerstr)));
私は次のように書きました。$keyword はユーザーが入力したコンテンツです。形式は音楽 + 曲のタイトルと歌手です。たとえば、音楽は Qi Qin に関するものです。冬は曲名と歌手が真ん中にありスペースで区切ります。
コードは次のとおりです:
$aa = substr($keyword,strpos($keyword,"Music")+strlen("Music"));//1 つの漢字には 2 つの位置があります
$song = substr($aa,0,strpos($ aa ," "));
$singer = substr($aa,strpos($aa," "));
$songstr = トリム((文字列)$song);
$singerstr = トリム((文字列)$singer ) ;
$musicArray = array("タイトル"=>$songstr, "説明"=>"歌手:".$singerstr, "MusicUrl"=>$this->getMusicUrl($this->getMusic ( $songstr,$singerstr)),"HQMusicUrl"=>$this->getHQMusicUrl($this->getMusic($songstr,$singerstr))); , $musicArray, $funcFlag);
3. 以下が重要なポイントです。PHP を使用して XML データを解析します
PHPの構文が分からないので、かなり時間がかかりました
コードをコピー
$children = $node->childNodes; //Get all $node の子 Node
foreach($children as $e) //各子ノードを読み取るループ
{
/*if($e->nodeType == XML_TEXT_NODE) // 子ノードがテキスト型の場合、出力
$ e-& gt; "" & lt; br & gt;
}*/ if($ e-&gt; nodetype == xml_element_node&&gt; nodename == 'encode')//子ノードがテキストタイプの場合、出力
'' decode ')//子ノードがテキストタイプの場合、出力$ MusicStr。= $ e- gt; gt; なので、これらの関数を呼び出すために追加する必要があります。
}
}
return $musicstr ;
}
function getMusic($song,$singer)
{
$dom = new DomDocument() //DOMオブジェクトを作成
$dom->load('http:/ /box.zhangmen.baidu.com/x?op=12&count=1&title='.$song.'$$'.$singer.'$$$$') //XML ファイルを読み込みます
$root = $dom - >documentElement; //XML データのルートを取得します
return $this->read_child($root);
//read_child 関数を呼び出してルート オブジェクトを読み取ります
}
function getMusicUrl($url)
{
// echo strpos($url,"&")."musciURL";
return substr($url,0,strpos($url,"&"));
}
function getHQMusicUrl($url)
{
//echo strripos($url,"&")."HQmusicURL";
return substr($url,strripos($url,"http"),strripos($url,"& ")-strripos($url,"http"));
}
DOMで作りました、Baiduは知っていて他の人に聞きました。もちろん、XML データ内の MusicUrl を取得するより良い方法があります:
コードをコピーします
コードは次のとおりです:
$result = simplexml_load_string($xml); strval($result->url->encode);
echo strval($result->url->decode);
//出力: http://zhangmenshiting.baidu.com/data2/music /64380827 /Z2ZmbGVuaW9fn6NndK6ap5WXcGVpZpuaZJdrbGtqmm1mY2lolppnmpSXZWZubZyclmlmmZaXa3CTZJeZmW1ncGVll1qin5t1YWBmbGxsamxlaGVrbG9taTE$
64380827.mp3? 864c55164ad0bce2297ede73eaa48b2ded70843d&mid=0.38763446277961
![]() |

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

PHPでは、予測不可能なトークンを使用して、CSRF攻撃を効果的に防ぐことができます。特定の方法には次のものが含まれます。1。フォームのCSRFトークンを生成および埋め込みます。 2.リクエストを処理するときにトークンの有効性を確認します。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

H5。ミニプログラムとアプリの主な違いは次のとおりです。技術アーキテクチャ:H5はWebテクノロジーに基づいており、ミニプログラムとアプリは独立したアプリケーションです。経験と機能:H5は軽量で使いやすく、機能が限られています。ミニプログラムは軽量で、インタラクティブが良好です。アプリは強力で、スムーズな経験があります。互換性:H5はクロスプラットフォーム互換性があり、アプレットとアプリはプラットフォームによって制限されています。開発コスト:H5には、開発コストが低く、中程度のミニプログラム、最高のアプリがあります。適用可能なシナリオ:H5は情報表示に適しており、アプレットは軽量アプリケーションに適しており、アプリは複雑な機能に適しています。

PHPの厳格なタイプは、declare(strict_types = 1)を追加することで有効になります。ファイルの上部に。 1)関数パラメーターのタイプチェックと戻り値を強制して、暗黙の型変換を防ぎます。 2)厳格なタイプを使用すると、コードの信頼性と予測可能性を改善し、バグを減らし、保守性と読みやすさを向上させることができます。

PHPでは、最終的なキーワードを使用して、クラスが継承されないようにし、メソッドが上書きされます。 1)クラスを決勝としてマークする場合、クラスを継承することはできません。 2)メソッドを最終的にマークする場合、メソッドはサブクラスによって書き換えられません。最終的なキーワードを使用すると、コードの安定性とセキュリティが保証されます。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。
