ホームページ > バックエンド開発 > PHPチュートリアル > PHP は疑似静的ソリューションを生成します

PHP は疑似静的ソリューションを生成します

WBOY
リリース: 2016-06-13 13:53:03
オリジナル
1208 人が閲覧しました

PHP は擬似静的を生成します
PHP の擬似静的を生成するコードを持っている人はいますか?そうねぇ。よろしくお願いします

-----解決策---------
これはecshopの擬似静的に生成されたコードです

PHP コード

/*** URLアドレスを書き換える
 *
 * @アクセスパブリック
 * @param string $app実行プログラム
 * @param 配列 $params パラメータ配列
 * @param string $追加の文字列を追加
 * @param integer $page ページ番号
 * @return void*/
関数 build_uri($app, $params, $append = '', $page = 0, $size = 0)
{
    静的 $rewrite = NULL;
    $append = str_replace(':',' ',$append);
    $append = str_replace('/',' ',$append);
    $append = str_replace('?',' ',$append);
    $append = str_replace('?',' ',$append);
    $append = str_replace('"',' ',$append);
    $append = str_replace('"',' ',$append);
    $append = str_replace(':',' ',$append);
    $append = str_replace('#',' ',$append);
    $append = str_replace(',',' ',$append);
    $append = str_replace('=',' ',$append);
    $append = str_replace(')',' ',$append);
    $append = str_replace(')',' ',$append);
    $append = str_replace('(',' ',$append);
    $append = str_replace('(',' ',$append);
    $append = str_replace('!',' ',$append);
    $append = str_replace('\',' ',$append);
    $append = str_replace('…',' ',$append);
    $append = str_replace('.',' ',$append);
    $append = str_replace('。',' ',$append);
    $append = preg_replace('/(s+)/', '-', $append);
    //出口;
    if ($rewrite === NULL)
    {
        $rewrite = intval($GLOBALS['_CFG']['rewrite']);
    }

    $args = array('cid' => 0,
                  'gid' => 0、
                  '入札' => 0、
                  '酸' => 0、
                  '援助' => 0、
                  'sid' => 0、
                  'gbid' => 0、
                  'auid' => 0、
                  'ソート' => ”、
                  '注文' => ”、
                );

    extract(array_merge($args, $params));

    $uri = '';
    スイッチ ($app)
    {
        ケース「カテゴリ」:
            if (空($cid))
            {
                false を返します。
            }
            それ以外
            {
                if ($rewrite)
                {
                    $uri = 'カテゴリ-' 。 $cid;
                    if (isset($bid))
                    {
                        $uri .= '-b' 。 $入札;
                    }
                    if (isset($price_min))
                    {
                        $uri .= '-min'.$price_min;
                    }
                    if (isset($price_max))
                    {
                        $uri .= '-max'.$price_max;
                    }
                    if (isset($filter_attr))
                    {
                        $uri .= '-attr' 。 urlencode($filter_attr);
                    }
                    if (!empty($page))
                    {
                        $uri .= '-' 。 $ページ;
                    }
                    if (!empty($sort))
                    {
                        $uri .= '-' 。 $ソート;
                    }
                    if (!empty($order))
                    {
                        $uri .= '-' 。 $order;
                    }
                }
                それ以外
                {
                    $uri = 'category.php?id=' 。 $cid;
                    if (!empty($bid))
                    {
                        $uri .= '&brand=' . $入札;
                    }
                    if (isset($price_min))
                    {
                        $uri .= '&price_min=' 。 $price_min;
                    }
                    if (isset($price_max))
                    {
                        $uri .= '&price_max=' 。 $price_max;
                    }
                    if (isset($filter_attr))
                    {
                        $uri .='&filter_attr=' . urlencode($filter_attr);
                    }

                    if (!empty($page))
                    {
                        $uri .= '&page=' . $ページ;
                    }
                    if (!empty($sort))
                    {
                        $uri .= '&sort=' . $ソート;
                    }
                    if (!empty($order))
                    {
                        $uri .= '&order=' . $order;
                    }
                }
            }

            壊す;
        ケース「商品」:
            if (空($gid))
            {
                false を返します。
            }
            それ以外
            {
                $uri = $rewrite ? 「DVD-」。 $gid : 'goods.php?id=' 。 $gid;
            }

            壊す;
        ケース「ブランド」:
            if (空($bid))
            {
                false を返します。
            }
            それ以外
            {
                if ($rewrite)
                {
                    $uri = 'ブランド-' 。 $入札;
                    if (isset($cid))
                    {
                        $uri .= '-c' 。 $cid;
                    }
                    if (!empty($page))
                    {
                        $uri .= '-' 。 $ページ;
                    }
                    if (!empty($sort))
                    {
                        $uri .= '-' 。 $ソート;
                    }
                    if (!empty($order))
                    {
                        $uri .= '-' 。 $order;
                    }
                }
                それ以外
                {
                    $uri = 'brand.php?id=' 。 $入札;
                    if (!empty($cid))
                    {
                        $uri .= '&cat=' . $cid;
                    }
                    if (!empty($page))
                    {
                        $uri .= '&page=' . $ページ;
                    }
                    if (!empty($sort))
                    {
                        $uri .= '&sort=' . $ソート;
                    }
                    if (!empty($order))
                    {
                        $uri .= '&order=' . $order;
                    }
                }
            }

            壊す;
        ケース「article_cat」:
            if (空($acid))
            {
                false を返します。
            }それ以外
            {
                if ($rewrite)
                {
                    $uri = 'article_cat-' 。 $酸;
                    if (!empty($page))
                    {
                        $uri .= '-' 。 $ページ;
                    }
                    if (!empty($sort))
                    {
                        $uri .= '-' 。 $ソート;
                    }
                    if (!empty($order))
                    {
                        $uri .= '-' 。 $order;
                    }
                }
                それ以外
                {
                    $uri = 'article_cat.php?id=' 。 $酸;
                    if (!empty($page))
                    {
                        $uri .= '&page=' . $ページ;
                    }
                    if (!empty($sort))
                    {
                        $uri .= '&sort=' . $ソート;
                    }
                    if (!empty($order))
                    {
                        $uri .= '&order=' . $order;
                    }
                }
            }

            壊す;
        ケース「記事」:
            if (空($aid))
            {
                false を返します。
            }
            それ以外
            {
                $uri = $rewrite ? '記事-' 。 $aid : 'article.php?id=' 。 $援助;
            }

            壊す;
        ケース「グループ購入」:
            if (空($gbid))
            {
                false を返します。
            }
            それ以外
            {
                $uri = $rewrite ? 'グループ購入-' 。 $gbid : 'group_buy.php?act=view&id=' 。 $gbid;
            }

            壊す;
        ケース「オークション」:
            if (空($auid))
            {
                false を返します。
            }
            それ以外
            {
                $uri = $rewrite ? 「オークション-」。 $auid : 'auction.php?act=view&id=' 。 $auid;
            }

            壊す;
        ケース「スナッチ」:
            if (空($sid))
            {
                false を返します。
            }
            それ以外
            {
                $uri = $rewrite ? 「スナッチ~」。 $sid : 'snatch.php?id=' 。 $sid;
            }

            壊す;
        ケース「検索」:
            壊す;
        デフォルト:
            false を返します。
            壊す;
    }

    if ($rewrite)
    {
        if ($rewrite == 2 && !empty($append))
        {
            if ($app == '商品')
            {
                 $uri = urlencode(preg_replace('/[.|/|?|&|+|\|'|"|,]+/', '', $append)).'-'.$uri;
            }それ以外{
                 $uri .= '-' 。 urlencode(preg_replace('/[.|/|?|&|+|\|'|"|,]+/', '', $append));
            }
        }

        $uri .= '.html';
    }
    if (($rewrite == 2) && (strpos(strto lower(EC_CHARSET), 'utf') !== 0))
    {
        $uri = urlencode($uri);
    }
    $uri を返します。
}
 <div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート