ホームページ > php教程 > php手册 > すべての高度な PHP スキルがリリースされます

すべての高度な PHP スキルがリリースされます

WBOY
リリース: 2016-06-21 09:09:52
オリジナル
892 人が閲覧しました

上級|ヒント

PHP は、世界中の 300 万以上のインターネット Web サイトの管理者によって使用されており、最も人気のあるサーバーサイド スクリプト言語の 1 つです。高速な実行速度、安定性、信頼性、クロスプラットフォーム、オープンソース ソフトウェアが特徴です。使用レベルに応じて、PHP は単純なものにも、HTML テーブル要素を送信するだけの複雑なものにもなり得ます。また、Java と XML を PHP アプリケーションに統合することもできます。 PHP についてある程度の理解がある場合、または予備的な教科書を読んだことがある場合は、これらのヒントによって PHP についての理解が深まり、いくつかの一般的かつ高度な PHP 関数を習得できるようになります。 1. PHP を Apache の DSO としてインストールする PHP は、Linux/Unix プラットフォームで Apache とともに使用されることが多く、静的モード、動的モード (DSO)、および CGI バイナリ モードの 3 つのインストール方法から選択できます。 メンテナンスとアップグレードが容易なため、PHP を DSO モードでインストールすることを強くお勧めします。たとえば、インストールされた PHP が初期インストール時にデータベースのみをサポートし、その後暗号化をサポートするモジュールをインストールする場合は、「make clean」を実行し、新しい構成オプションを追加してから、「make」と「make install」を実行します。 1 つ 新しい PHP モジュールが Apache の適切な場所にインストールされ、Apache を再コンパイルせずに Apache が再起動されます。 次の手順では、新しい Apache をインストールし、DSO モードで PHP をインストールします。 1. Apache Software Foundation から最新バージョンの Apache ソース コードを入手します。 2. 入手したソース コードを /usr/local/ または /opt/ ディレクトリに置きます。または指定した任意のディレクトリ; 3. Gunzip を実行してファイルを解凍し、拡張子 .tar が付いたファイルを取得します。 4. 次のコマンドを実行して、ファイルを apache_[version] ディレクトリにインストールします。 tar 5. /usr/local/apache_[version] ディレクトリ (または手順 4 で圧縮ファイルがインストールされたディレクトリ) に移動します。 6. 次のコマンドを入力して Apache のコンパイルを準備し、独自のパスに置き換えます。 [path] (例: /usr/local/apache[version]) に mod_so の新しい値が設定され、これにより Apache が DSO モジュールを使用できるようになります。 7. プロンプト状態に戻ったら、「make」と入力します。再度応答を待ちます。プロンプト状態に戻ります。 8. 「make install」コマンドを実行します。 この時点で、Apache がインストールされ、システムはプロンプト状態に戻ります。次に、PHP のインストールを開始します。 1. PHP ホームページのダウンロード領域で最新バージョンへのリンクを見つけます。 2. ファイルを /usr/local/ や /opt/ などの適切なディレクトリにダウンロードします。 3. Gunzip を実行してファイルを解凍し、拡張子が .tar のファイルを取得します。 4. 次のコマンドを実行して、ファイルを php-[version] ディレクトリにインストールします。 5. /usr/local/php-[version] ディレクトリまたは手順 4 で指定したディレクトリを入力します。この時点で、変更する必要がある設定オプションは with-apxs だけです。 (これは Apache の bin ディレクトリ内のファイルです)。より高いパフォーマンスを得るために、MySQL のサポート モジュールはインストールしませんでした。 ./configure --with-mysql=/[mysql へのパス] --with-apxs=/[apxs へのパス] 6. プロンプト状態に戻った後、make コマンドを実行し、プロンプト状態に戻るまで待ちます。 . make installコマンドを実行します。 この時点で、システムは DSO モードで Apache のモジュール ディレクトリに PHP をインストールし、Apache の httpd.conf ファイルに適切な変更を加えて、プロンプト状態に戻りました。プロンプト状態に戻った後も、Apache の httpd.conf ファイルにいくつかの変更を加える必要があります。 1. ServerAdmin を含む行を見つけて、次のように電子メール アドレスを追加します。 ServerAdmin you@yourdomain.com 2. ServerName で始まる行を見つけて、実際の値に変更します (例: ServerName localhost)。セクションの内容は次のとおりです。 # PHP 4.x の場合は、次を使用します。 # #AddType application/x-httpd-php .php #AddType application/x-httpd-php-source .phps これらの行の内容を次のように変更します。その PHP 4.0 の AddType はコメントではなくなり、PHP で使用するファイルのサフィックスが追加されます。上記の内容は次の内容になります。 # PHP 4.x の場合は、 # AddType application/x-httpd を使用します。 -php .php .phtml AddType application/x-httpd-php-source .phps ファイルを保存し、前のディレクトリに戻り、次のコマンドを実行して Apache を再起動します。 ./bin/apachectl start 起動中にエラー メッセージが表示されない場合, 以下に示すように、1 行だけで phpinfo.php という名前のファイルを作成することで、インストールされた Apache と PHP をテストできます。 このファイルを Apache ドキュメントのルート ディレクトリ (htdocs) に保存し、ブラウザに http://localhost/phpinfo.php アドレスを入力すると、多くの変数とその値が画面に表示されます。 PHP を再構成する場合は、make clean コマンドを再度実行し、一連のオプションを指定して ./configure コマンドを実行し、次に make および make install コマンドを実行する必要があります。新しいモジュールが Apache ディレクトリ モジュールに表示されます。 「Start Apache」を再起動してこの新しいモジュールをロードするだけで、すべてがうまくいきます。 2. PHP 独自のダイアログを使用する PHP 4.0 の最も期待されている機能は、ダイアログのサポートである必要があります。そうでない場合は、ダイアログをサポートしていないことが常に PHP の最大の欠点の 1 つです。 PHP。ユーザーがサイトを閲覧している限り、会話を使用して特定のユーザーに関連する変数を維持できます。複数の Cookie を作成したり、非表示のテーブル フィールドを使用したり、データベースに情報を保存したりする必要はありません。 Web ページでセッションを開始すると、セッションを開始するか (まだ開始されていない場合)、現在のセッションを継続するかが PHP エンジンに通知されます。 session_start(); セッションを開始すると、識別文字列がユーザーに送信されます。 Cookie (例: 940f8b05a40d5119c030c9c7745aead9)、サーバー側で、識別文字列に一致する一時ファイル (sess_940f8b05a40d5119c030c9c7745aead9 など) が作成されます。このファイルには、登録された会話変数とその値が含まれます。 ダイアログの役割を示すために使用される最も一般的な例は、アクセス カウンタです。 PHP モジュールを開始し、PHP コードがファイルの最初の行であることを確認します。PHP コードの前にスペース、HTML コード、またはその他のコードがあってはなりません。セッションはヘッダーを送信するため、session_start() の前にスペースや HTML コードがあると、エラー メッセージが表示されます。 You've been here $counttimes.

";訪問カウンター コードは次のようになります: $count 回訪問しました。

";上記のスクリプト ファイルをリロードすると、変数 count の値が 1 増加することがわかります。これは素晴らしいことです。 会話に配列変数を登録することもできます。 $faves という名前の変数を登録するとします。 $faves = array ('chocolate','coffee','beer','linux'); 単純な変数を登録するのと似ています。次のように配列変数を登録します。 session_register('faves'); 配列変数の参照は、単純な変数の参照と何ら変わりません。ユーザーが Web ページ上で自分の趣味を指摘した場合、その趣味をファイルに登録できます。 $faves 配列変数を呼び出すと、これらの趣味を別の Web ページに簡単に表示できます: "; faves)) { echo "
  • $v"; } echo ""; 次に、ユーザーの趣味のリストを取得します。 会話変数はクエリ文字列で上書きできません。つまり、 http:///www.yourdomain.com/yourscript.php?count=56 と入力して、登録された変数 $count に新しい値を指定することはできません。これはセキュリティにとって重要です。未登録のダイアログ変数は、サーバー側スクリプトでのみ削除できます。 セッション変数を完全に削除したい場合は、まずシステムから登録を解除する必要があります: session_unregister('count'); セッション変数を完全に削除するスクリプトは次のように非常に簡単です。データベースへのアクセスを減らす コードを明確にし、ユーザーに送信される Cookie の数を減らす最も簡単な方法です。 3. ファイルは私たちの友達です。開発している Web サイトの規模に関係なく、コードが HTML コードであっても PHP コードであっても、コードを再利用することの重要性を認識する必要があります。たとえば、著作権情報を含むフッターは少なくとも年に 1 回は変更する必要がありますが、1,000 ページある Web サイトの場合、これは煩わしい作業です。 PHP には、コードの再利用を実現するのに役立つ関数が少なくともいくつかあります。使用される関数は、再利用するコードによって異なります。主な関数は次のとおりです。 * include() と include_once() * require() と require_once( ) include() 関数は、指定されたファイルをインクルードし、計算します。例: include('/home/me/myfile'); インクルード ファイル内のコードは、include() が表示されるコード スコープ内で実行されます。 include() と fopen() を組み合わせて使用​​することで、独自のサーバーと別のサーバー上のターゲット ファイルを作成できます。 include_once() の関数は include() と同じです。この 2 つの違いは、ファイル内のコードが既存のスクリプトに既にインクルードされているかどうかをチェックすることです。コードが既に存在する場合、そのコードは再度インクルードされません。 require() 関数は、それ自体を指定されたファイルの内容に置き換えます。この置換プロセスは、include() のように最初に計算されるのではなく、PHP エンジンがコードをコンパイルするときに行われます。 require() 関数は静的要素でよく使用され、include() は動的要素でよく使用されます。 include_once() と同様に、require_once() は、指定されたコードが挿入されているかどうかを最初に確認します。コードがすでに存在する場合、そのコードは再度挿入されません。その内容も理解するために、変数を含まない、または他の実行スクリプトに依存しない、著作権情報、静的テキスト、その他の要素に対して require 関数を使用することを好みます。例:何か[大量のコンテンツ]一方、多くの関数を制御するためにファイルの先頭で include() をよく使用します: 何か[たくさんのcontent]< /BODY>次の質問は、「インクルード ファイルと必須ファイルはどこにありますか?」です。この質問に対する簡単な答えは、「コードにユーザー名が含まれるファイルがある場合」です。とデータベース接続のパスワードを両方ともドキュメント ルートに配置して、誰でも利用できるようにすることは絶対にありません。含まれるファイルまたは必須ファイルは、PHP が実行されているシステム上のユーザーがアクセスできる限り、システム上のどこにでも置くことができ、これらのファイルには任意のサフィックスを付けることも、サフィックスを付けないこともできます。 Web サイト内の要素を指定するために include() と require() を使用するのは一般的な現象であり、Web サイトをアップグレードする必要がある場合に非常に便利です。 4. PHP とファイル システムのメンテナンス PHP にはファイル システムに関連する機能が多数あり、これらの機能はファイルを開くだけでなく、ディレクトリの内容を表示したり、ファイルを移動したりすることもできます。 -ベースのファイルエクスプローラー。ファイル パスの説明: Windows ではパスに / と記号を使用できますが、他のオペレーティング システムでは / 記号のみを使用できます。一貫性を保つために、/ 表記を一律に使用します。次のスクリプト例では、コードにコメントが含まれています。 /* 読み込むディレクトリの完全なパス名を $dir_name という名前の変数に保存します。 */$dir_name = "/home/me/";/* 指定されたディレクトリを開いた結果の値を持つハンドルを作成します */$dir = opendir($dir_name);/* List 要素を配置するテキスト ブロックを作成します (ファイル名) */$file_list = "
      ";/* ファイル名が「.」または「..」でない場合は、while ステートメントを使用して、開いたディレクトリ内のすべての要素を読み取ります。リスト*/while ($file_name = readdir($dir)) {if (($file_name != ".") && ($file_name != "..")) {$file_list .= "< ;li>$ file_name";}}$file_list .= "
    ";/*開いているディレクトリを閉じて、PHP モジュールを終了します*/closedir($dir);?>これで、ディレクトリのリストができました。ファイル (これについては後ほど説明します) またはディレクトリの内容を読み取るには、PHP が実行されているシステム上のユーザーが少なくともそのファイルに対する読み取り権限を持っている必要があることに注意してください。ファイルをコピーする方法の例を次に示します。 この例はファイル バックアップ システムのプロトタイプです。このスクリプトを実行すると、ファイルが別の場所にコピーされて保存されます。デーモンをわずかに変更して、ユーザーの介入なしで指定した時刻に実行できるようにします。システムに Lynx がインストールされていると仮定すると、このファイルにアクセスするためのデーモン エントリを作成できます。このファイルにアクセスすると、このスクリプトが実行され、ファイルのコピーが作成されます。次の例では、このスクリプトを午前 5 時に実行します。 Lynx をシャットダウンします: 0 5 * * * [ユーザー名] lynx -dump http://localhost/copyfile.php 1>/dev/null 2>&1 CGI バージョンの PHP を実行している場合は、Lynx をスキップできます。 0 5 * * * [username] php /path/to/copyfile.php 1>/dev/null 2>&1 5. 豊富な配列関数 PHP 4.0 には、配列番号に関連する 30 の新しい関数が追加されました。この関数は、配列に要素が含まれているかどうかを判断したり、配列内の要素をカウントしたり、配列内の要素を追加または削除したり、配列内の要素を並べ替えたりすることができます。大きな配列があり、その配列に特定の要素が含まれているかどうかを確認する必要がある場合は、in_array() を使用できます。次の例では、$namesArray という名前の配列で Albert を検索していますが、そのような要素は $namesArray 配列に存在しないため、「この配列では見つかりません」と表示されます。 $lookFor の値を Mary に変更すると、「You' Mary は $namesArray 配列の要素であるため、見つかりました!」というメッセージが表示されます。配列内の要素の数を数えたい場合は、単に count() 関数を使用します: $count の戻り値は 7 です。配列の先頭または末尾に要素を追加できます。また、array_merge() を使用して、2 つ以上の配列の要素を含む新しい配列を作成することもできます。マージすると、要素の順序は指定された順序になります。元の配列はソートされており、マージ後に並べ替える必要がある場合。まず array_push() を使用して、配列の末尾に要素を追加します。 ";}?>上記のプログラムを実行すると、次の結果が得られます: 0 : apple1 : orange2 : Banana3 : kiwi4 : pear5 :grape6 : pineapple7 : Tomato が配列の先頭に要素を追加する必要がある場合、そのコードは上記のコードと似ていますが、唯一の違いは、array_push() の代わりに array_unshift() を使用する必要があることです。 ";}?>上記のプログラムを実行すると、次の結果が得られます: 0: グレープ1: パイナップル2: トマト3: アップル4: オレンジ5: バナナ6: キウイ7: parkarray_merge() 関数は、2 つ以上の配列を 1 つの配列にマージできます。 ";}?>上記のスクリプトを実行すると、次の結果が得られます。 : 0 : apple1 : orange2 : Banana3 : kiwi4 : pear5 : キャロット6 : 緑豆7 : アスパラガス8 : アーティチョーク9 : トウモロコシ 要素を追加して配列を結合する方法をマスターしたので、配列から要素を削除する方法を見てみましょう。 array_pop() 関数を使用すると配列の末尾から要素を削除でき、array_shift() 関数を使用すると配列の先頭から要素を削除できます。 array_pop() または array_shift() を使用して配列から要素を削除しても、要素を変数として使用することはできます。array_pop() を使用して配列の末尾から要素を削除します: ;";}echo "
    そして最後に、$popped: $popped";?>上記のスクリプトを実行すると、次の結果が得られます。 0 : apple1 : orange2 : Banana3 : kiwiand 最後に、$popped:pear 配列の末尾から要素を削除する例について説明します。 ";}echo "
    そして最後に、$shifted: $shifted ";?>上記を実行します。 スクリプトは次の表示結果を取得します: 0 : orange1 : Banana2 : kiwi3 : pearand 最後に、$shifted: apple 配列内の要素を並べ替えることができる関数もいくつかありますが、ここでは基本的なソート関数を簡単に紹介し、ソート プロセスについて説明します。 ";}? >上記のスクリプトを実行すると、次の表示結果が得られます: 0: apple1: Banana2: kiwi3: orange4: pear 6. 動的イメージを作成するには、次の条件を満たす限り、PHP を使用して動的イメージを作成できます。サードパーティのライブラリ ファイルをインストールし、画像の作成と処理に関する一定の知識があること。実際、私は大学を卒業していないので、まだ PHP を使用して画像を作成できるため、これには幾何学の知識はあまり必要ありません。基本的なイメージ作成機能を使用する前に、GD ライブラリ ファイルをインストールする必要があります。 JPEG 関連の画像作成機能を使用する場合は、jpeg-6b をインストールする必要があります。画像内で Type 1 フォントを使用する場合は、t1lib をインストールする必要があります。イメージ作成環境をセットアップする前に、いくつかの準備作業を行う必要があります。まず、t1lib をインストールし、次に jpeg-6b をインストールし、次に GD ライブラリ ファイルをインストールします。 GD をライブラリとしてコンパイルする際に jpeg-6b が使用されるため、インストールする際はここで指定した順序でインストールする必要があります。jpeg-6b がインストールされていないとコンパイル時にエラーが発生します。これら 3 つのコンポーネントをインストールした後も、PHP を再構成する必要があります。これが、PHP のインストールに DSO を使用する理由の 1 つです。 make clean を実行し、現在の設定に次の内容を追加します: --with-gd=[/path/to/gd]--with-jpeg-dir=[/path/to/jpeg-6b]--with -t1lib= [/path/to/t1lib] 追加完了後、makeコマンドを実行し、続いてmake installコマンドを実行します。 Apache を再起動した後、phpinfo() を実行して、新しい設定が有効になっているかどうかを確認します。これで、イメージの作成作業を開始できます。インストールした GD ライブラリのバージョンに応じて、GIF または PNG 形式でグラフィック ファイルを作成できる場合とできない場合があります。 gd-1.6 以前のバージョンがインストールされている場合は、GIF 形式のファイルは使用できますが、作成することはできません。 PNG 形式 インストールされているバージョンが gd-1.6 以降の場合、PNG ファイルは作成できますが、GIF 形式のファイルは作成できません。単純な画像を作成するには多くの機能を使用する必要があります。これについては順を追って説明します。この例では、PNG 形式で画像ファイルを作成します。次のコードは、作成された画像の MIME タイプを含むヘッダーです。空白の画像を表す変数。この関数にはピクセル単位の画像サイズのパラメータが必要です。その形式は ImageCreate(x_size, y_size) です。サイズ 250X250 の画像を作成したい場合は、次のステートメントを使用できます: $newImg = ImageCreate(250,250); 画像はまだ空白なので、色で塗りつぶすこともできます。ただし、最初に ImageColorAllocate() 関数を使用して RGB 値を使用してこの色に名前を割り当てる必要があります。この関数の形式は ImageColorAllocate([image], [red], [green], [blue]) です。空色を定義したい場合は、次のステートメントを使用できます: $skyblue = ImageColorAllocate($newImg,136,193,255); 次に、ImageFill() 関数を使用して画像をこの色で塗りつぶす必要があります。 ImageFill() 関数 (ImageFillRectangle()、ImageFillPolygon() など)。簡単にするために、ImageFill() 関数を次の形式で使用します。 ImageFill([image], [start x point], [start y point], [color])ImageFill($newImg,0,0,$skyblue);最後に、イメージを作成した後、イメージ ハンドルと占有メモリを解放します。 ImagePNG($newImg);ImageDestroy($newImg) ?>このようにして、イメージを作成するコード全体は次のようになります。 ("コンテンツ タイプ: image/png");$newImg = ImageCreate(250,250);$skyblue = ImageColorAllocate($newImg,136,193,255);ImageFill($newImg,0,0,$skyblue);ImagePNG($newImg); ImageDestroy($newImg); ?>このスクリプト ファイルを skyblue.php として保存し、ブラウザでアクセスすると、スカイブルーの 250X250 の PNG 形式の画像が表示されます。画像作成機能を使用して、大きな画像を小さな画像に作成するなど、画像を処理することもできます。画像があり、そこから 35X35 サイズの画像を切り抜きたいとします。必要なのは、35x35 の空の画像を作成し、元の画像を含む画像ストリームを作成して、サイズ変更した元の画像を新しい空の画像に配置することだけです。このタスクを完了するための重要な関数は ImageCopyResize() で、次の形式が必要です: ImageCopyResize([新しい画像ハンドル],[元の画像ハンドル],[新しい画像 X], [新しい画像 Y], [元の画像 X], [元のイメージ Y]、[新しいイメージ X]、[新しいイメージ Y]、[元のイメージ X]、[元のイメージ Y])。 You'reauthorized!

    ";}}> を使用している場合に注意してください。ファイルベースの保護メカニズムではありませんが、ディレクトリ内のすべてのファイルのセキュリティは保証できません。ほとんどのファイルを保護できる可能性がありますが、特定のディレクトリ内のすべてのファイルを保護できると考えている場合は、考え方を変える必要があります。 8. PHP と COM 冒険心があり、CGI、ISAPI、または Apache モジュール バージョンの PHP を Windows 上で実行している場合は、COM 機能にアクセスできます。さて、COM の詳細な説明は Microsoft や多くの分厚い書籍に委ねられています。COM の機能を簡単に理解するために、ここでは簡単な一般的なスクリプトを紹介します。この PHP スクリプトは、バックエンドで Microsoft のワードプロセッサ Word を起動し、新しい文書を開いてテキストを入力し、文書を保存して Word を閉じます。 Version}
    "; // 可視性を 0 (false) に設定します。前面に開きたい場合は、 // を使用します。アプリケーションを最前面で開き、1 (true)$word->Visible = 0;// Word で新しいドキュメントを作成 $word->Documents->Add();// 新しいドキュメントにテキストを追加$word->Selection->TypeText("Testing 1-2-3...");//Windows の一時ディレクトリにドキュメントを保存 $word->Documents[1]->SaveAs( "/ Windows/temp/comtest.doc");// COM コンポーネントへの接続を閉じます $word->Quit();// 画面に他の情報を表示します echo "ファイルを確認してください..."; ?>イントラネット Web サイトがあり、データが SQL Server に保存されており、ユーザーが Excel 形式のデータを必要としている場合は、PHP に必要な SQL クエリを実行させて出力をフォーマットし、COM を使用して Excel を開いてデータを変換できます。データを Excel 形式に変換し、ユーザーのデスクトップにデータを保存します。 9. PHP と Java PHP のもう 1 つの興味深い機能は、既存の Java オブジェクトのメソッドを呼び出すことができることです。これにより、PHP を Java ベースのアプリケーションに統合できます。この機能は、職場で PHP アプリケーションを促進したい場合に非常に便利です。その結果、「ここにあるものはすべて Java に基づいています。」という結果が得られます。この機能を利用するには、サーバーに JVM がインストールされている必要があります (Java 仮想)機械)。 Sun、Kaffe、IBM、または Blackdown から JDK をインストールする場合、JVM はすでにインストールされています。 PHP を構成する場合は、構成ファイルに with-java セクションを追加し、php.ini ファイルの一部を変更する必要があります。php.ini ファイルへの主な変更は、次の内容を追加することです。 library.path= /path/to/libraryjava.class.path=/classpath/extension_dir=/path/to/extensionsextension=libphp_java.so 変更はインストールの種類に関連していることに注意してください。 ext/ を読み取る必要があります。 Java 関数の設定方法については、PHP インストール ディレクトリ内の README ファイル (Java ディレクトリ内) を参照してください。以下は、新しい Java オブジェクトを作成する PHP スクリプトの例です。このスクリプトは、モニター上にいくつかの Java プロパティにアクセスして表示します。これは COM の例と同様に興味深いものであり、インスピレーションを与えてくれるはずです。 Java バージョン = " . $system->getProperty("java.version") "
    "; echo "Java Vendor = " . $system->getProperty("java.vendor") . "

    ";?>Java の知識がある場合は、開発作業に非常に役立ちます。統合する能力は、PHP が将来受け入れられ、成長するための鍵となります。 10. PHP と XML PHP には、Expat 解析をサポートするオプションの XML 拡張機能が含まれており、PHP の XML 関連関数を使用して、有効な XML ドキュメントを処理する分析プログラムを作成できます。 Apache ソフトウェア バージョン 1.3.7 以降を使用している場合は、追加のライブラリ ファイルをインストールする必要はありません。必要なのは、PHP で with-xml を設定することだけです。 Java や COM と同様に、PHP での XML のサポートも興味深いものであり、急速に成長しています。Expat または LibXML の知識がある場合は、この分野の開発に参加してください。



  • 関連ラベル:
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    最新の問題
    人気のおすすめ
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート