1はじめに
プロジェクトで使用される主なテクノロジーは、layuiフロントエンドUIフレームワーク、PHP言語の動的Webページテクノロジー、Navicatデータベース管理クライアント、およびPhpStudyのPHP開発統合環境です。
ログインモジュールとバックグラウンド管理モジュールを含む、比較的完全なシンプルなニュースリリースと管理システムを実現し、
バックグラウンド管理モジュールは以下を実装します:
1.ニュース管理:ニュースの追加、ニュースの表示。
2.ニュースカテゴリ管理:カテゴリの追加、カテゴリの表示。
3.管理者管理:管理者の追加、管理者の表示。
4.ログインモジュールが実装されています。ログイン検証、ID検証。
2.プロジェクト全体のシステム設計機能デモ(動画)
对于项目的展示和关键技术,我在b站上发了两个原创视频,不过声音有点小,需要带耳机。
3.キーテクノロジーの実現
画像非同期アップロード機能
1.1機能の説明とスクリーンショット
アップロードのサムネイルをクリックすると、アップロード後にページにアップロード結果情報が返されます。
1.2設計手順と実現のアイデア
1.関連するIDボタンをフロントページのアップロードページに配置し、jsを介してアップロード情報を取得します。
2. layuiフレームワークは事前に設定された情報を使用して、elem、data、typeなどの設定されたアップロードインターフェイス処理に解像度を返し、最も重要な値のURLはこの例のupload.phpなどのインターフェイス情報を保存します。
3. upload.phpは、非同期メッセージの考えられる結果を事前に関数処理し、エラーまたは成功の情報をアップロードし、インターフェイスから返される判定値としてコード値を返す必要もあります。
4.最後に、インターフェースはアップロード操作の結果を返し、resとcodeの値はdone:で定義された関数を介して処理され、結果はメッセージメッセージを表示するために処理されます。
Infinitus分類関数
2.1機能の説明とスクリーンショット
子供と親の分類を実現するために、データベースを介してIDとPIDを設定します。たとえば、ボランティア協会は親であり、青年協会はサブセットです。
2.2設計手順と実現のアイデア
スタックとキューのアイデアを通じて、結果セット全体をトラバースして同じidとpidを見つけ、子と親の関係を形成し、それをスタックにプッシュします。次に、スタックに格納された情報がキューの先入れ先出しのアイデアに従って取り出され、マルチレベルの子と親の関係が形成されます。
$address = array(
array('id'=>1 , 'address'=>'江西' , 'parent_id' => 0),
array('id'=>2 , 'address'=>'江苏' , 'parent_id' => 0),
array('id'=>3 , 'address'=>'赣州' , 'parent_id' => 1),
array('id'=>4 , 'address'=>'安远县' , 'parent_id' => 3),
array('id'=>5 , 'address'=>'欣山镇' , 'parent_id' => 4),
array('id'=>6 , 'address'=>'南京' , 'parent_id' => 2),
array('id'=>7 , 'address'=>'玄武区' , 'parent_id' => 6),
array('id'=>8 , 'address'=>'梅园新村街道', 'parent_id' => 7),
array('id'=>9 , 'address'=>'上海' , 'parent_id' => 0),
array('id'=>10 , 'address'=>'黄浦区' , 'parent_id' => 9),
array('id'=>11 , 'address'=>'外滩' , 'parent_id' => 10)
array('id'=>12 , 'address'=>'安庆' , 'parent_id' => 1)
);
id = 0の子孫ノードを検索し、id = 0をスタックに入れ、ノードを検索します。これは
array( 'id' => 1、 'address' => 'Jiangxi'、 'parent_id' => 0)です
。この時点でスタックは[ 0]、元のデータからノードを削除してから、id = 1をスタックに入れ、id = 1の子孫を探し、次のように見つけます
。array( 'id' => 3、 'address' => 'Ganzhou'、 'parent_id' => 1)、
この時点でスタック[0] [1]、ノードid = 3をスタックに削除し、id = 3の子孫を探し、次を見つけます:
array( 'id' => 4、 'address '=>' Anyuan County '、' parent_id '=> 3)
スタック[0] [1] [3]、ノードを削除、スタックにid = 4を入れ、id = 4の子孫ノードを探して、次のように検索します:
array( 'id' => 5、 'address' => 'Xinshan Town'、 'parent_id' => 4)、
スタック[0] [1] [3] [4]、ノードを削除、id = 5をスタックに、スタック[0] [1] [3] [4] [5]、id = 5の子ノードを探します。トラバーサルの後、子ノードが見つからないため、id = 5がスタックからポップされ、id = 4の子孫ノードが再び検索されます乗る。最後に、反復全体を完了します。
スタックの状況は次のとおりです。
[0]
[0][1]
[0][1][3]
[0][1][3][4]
[0][1][3][4][5]
[0][1][3][4]
[0][1][3]
[0][1]
[0]
エディター機能
3.1機能の説明とスクリーンショット
編集プロセス中にリアルタイムで保存される多機能エディターを実現します
3.2設計手順と実装のアイデア
ueditorリッチテキストエディターを使用すると、オープンソースエディターは軽量の多機能エディターを実現し
、プロジェクトをローカルにダウンロードしてHTMLコードを記述できます。最初にエディターの効果を確認できます。エディターにはカスタムパラメーター項目があります。エディターのコンテンツは、getContentメソッドとsetContentメソッドを介して設定および読み取ることができます。setContentは、ユーザーが入力したコンテンツを取得するようにエディターを設定し、次にgetContentを使用してユーザー入力を取得して戻り、最後にデータベースに値を渡します。 。
4.問題
画像のアップロード操作中に、アップロードインターフェイスが異常です。
**エラーの原因:**アップロードフォルダーが作成されず、正しい場所に配置されませんでした。
**解決策:** element-networkを確認してエラーメッセージを確認し、print $ _SERVER ['DOCUMENT_ROOT'];またはphpstudyを使用して、サーバーのルートディレクトリを表示し、アップロードフォルダーを作成します。